Tôi có hoạt động chính có 2 đoạn. Hoạt động chính có SearchView
trong thanh tác vụ. Cả hai đoạn có một danh sách số lượng lớn các chuỗi, List<String>
.Truyền dữ liệu tìm kiếm đến Hoạt động có thể tìm kiếm
Dòng chảy là:
tài vào Fragment I -> Chọn một chuỗi (cho phép nói Selection1) -> Dựa trên Selection1 một danh sách các chuỗi được phổ biến trong đoạn thứ hai - -> Ở đây người dùng chọn một chuỗi thứ hai ---> Xử lý dựa trên hai chuỗi này.
Bây giờ kể từ khi cả hai mảnh chứa một số lượng lớn các dây, người dùng nhập vào một truy vấn trong SearchView
, để lọc danh sách và làm giảm nó vào một danh sách nhỏ hiển thị trong SearchableActivity
.
Bây giờ vấn đề là làm cách nào để SearchableActivity
truy cập vào hai số List<String>
này để lọc chúng dựa trên truy vấn và hiển thị danh sách đã giảm cho người dùng.
Hiện nay những gì tôi đã làm là ghi đè onSearchRequested
và vượt qua các dữ liệu như
@Override
public boolean onSearchRequested()
{
Bundle appData = new Bundle();
appData.putString(FRAGMENT_ID, "Fragment_A");
appData.putStringArrayList(SEARCH_LIST, searchList);
startSearch(null, false, appData, false);
return true;
}
Có cách nào tốt hơn hoặc cách tiêu chuẩn mà vấn đề này có thể được xử lý tức là một thực hiện cho phép dữ liệu được dựa từ của tôi MainActivity
đến SearchableActivity
?
Chỉnh sửa: Thêm mã. Hiển thị cách dữ liệu được đặt trong Fragment
. onDataReceived
được gọi từ số HttpManager
nhận dữ liệu.
@Override
public void onDataReceived(String type,final Object object)
{
switch(type)
{
case PopItConstants.UPDATE_LIST:
getActivity().runOnUiThread(new Runnable() {
@Override
public void run()
{
updateCinemaList((List<String>) object);
}
});
break;
}
}
public void updateDataList(List<String> data)
{
this.dataList = data;
spinner.setVisibility(View.GONE);
mAdapter.updateList(dataList);
}
Có thể liên kết này có thể giúp bạn –
prat
Bạn có thể hiển thị mã của mình về cách bạn nhận và hiển thị dữ liệu và sau đó nhận dữ liệu người dùng đã chọn xin vui lòng? Sẽ dễ dàng hơn để trả lời cụ thể hơn là viết một câu trả lời tổng quát. –
@Heyyou Dữ liệu về cơ bản là "Danh sách" được chứa trong ví dụ cho biết đoạn A. Nhưng SearchableActivity không có quyền truy cập vào danh sách này. Tôi không biết tôi cần dán mã gì để làm sáng tỏ thêm điều này. –
unrealsoul007