嗨,我想知道如何讓我的搜索活動返回結果回到啓動它的活動。讓搜索活動返回結果?
我目前實現了一個搜索對話框(意思是一旦點擊了手機上的搜索按鈕,搜索活動就會啓動)。
這是我的代碼爲搜索活動這是一個列表視圖。
公共類ItemFinder擴展ListActivity {
public static final int REQUEST_CODE = 1; // get it?
Vector<String> upcCodes;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
upcCodes = new Vector<String>();
ListView lv = (ListView) findViewById(android.R.id.list);
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> a, View v, int position,
long id) {
String upc = upcCodes.elementAt(position);
setResult(RESULT_OK);
}
});
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
ProgressDialog dialog = ProgressDialog.show(ItemFinder.this, "Searching",
"Searching. Please wait...", true);
performSearch(query);
dialog.hide();
dialog.dismiss();
}
}
public void performSearch(String query){
String result = new SmartShopClient().SearchItems(query);
List<String> dataList = new ArrayList<String>();
String _parsedResult[] = result.split("\\n");
for(int i = 0; i<_parsedResult.length; i++){
String _splitData[] = _parsedResult[i].split("\\|");
String itemName = _splitData[0];
String itemUPC = _splitData[1];
dataList.add(itemName);
upcCodes.add(itemUPC);
}
ArrayAdapter<String> arr = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dataList);
this.setListAdapter(arr);
}
}
所以搜索工作的所有罰款和花花公子,但我想它,所以當我點擊的ListView的結果之一,因爲它使用一些數據將數據返回到主要活動,例如點擊搜索結果的名稱。
謝謝。
將這項工作的搜尋活動呢? – Overload119
實施此方法後,問題在於,即使在將任何輸入放入框中之前,也會調用onSearchRequested。因此,搜索工作和結果由我的搜索查詢返回始終默認爲「空」 – Overload119