我有以下代碼啓動一個listview有100個選項。此外,它還會激活軟件鍵盤,以便於查找選項。如果我選擇一個選項,所選選項的位置將存儲在字符串數組items []中。問題是,當我通過關鍵字搜索選項時,選擇它然後返回,它指向當前位置不在當前值。ListView使用setTextFilterEnabled選擇的位置
如何預防?
public class MyListActivity extends ListActivity {
String[] items;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
ListView lView = getListView();
lView.setChoiceMode(2);
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
lView.setTextFilterEnabled(true);
items = getResources().getStringArray(R.array.items1);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_checked, items));
}
public void onListItemClick(ListView lv, View v, int position, long id) {
lv.setItemChecked(position, lv.isItemChecked(position));
String selectedValue = (String) getListAdapter().getItem(position);
Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show();
}
}
我的代碼和這個一樣[鏈接] http://www.yogeshblogspot.com/how-to-get-selected-items-from-multi-select-list-view/當我搜索時出現問題爲一個選項,然後選擇它(一個或多個),然後用「後退」按鈕返回兩次。選中的框不符合值,但位置。任何人都可以讓我知道在我的代碼中爲了我想要的結果所做的更改嗎? –