0
各項目をクリックすると対応するアクティビティがリストビューに表示されます。しかし、setTextFilterEnabled(true)を実装すると、結果がクリックされたときに正しいアクティビティが開始されません。私は 'ポジション'を使わないことについて何かを読んだが、それはどういう意味ですか?これを修正するにはどうすればよいですか?Androidのリストビューの検索結果が正しい結果に戻っていない
public class Contactpage extends ListActivity {
private static final int KEYBOARD = 0;
public void onCreate(Bundle savedInstanceState) {
String[] people = getResources().getStringArray(R.array.people_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.listtest, people));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
final String[] email = getResources().getStringArray(R.array.details_array);
final String[] number = getResources().getStringArray(R.array.number_array);
//Intent after selection is made
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String contenttt = email[position];
String contentt = number[position];
Intent showContent = new Intent(getApplicationContext(),
Viewer.class);
Bundle b = new Bundle();
b.putString("name",contenttt);
showContent.putExtras(b);
Bundle a = new Bundle();
a.putString("number",contentt);
showContent.putExtras(a);
startActivity(showContent);
}});}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, KEYBOARD, 0, R.string.menu_keyboard)
.setIcon(android.R.drawable.ic_menu_search);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case KEYBOARD: {
InputMethodManager imm = (InputMethodManager)
Contactpage.this.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null){
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
return true;}
default: {
return super.onOptionsItemSelected(item);}
}
}
}
使用 '位置の内側に位置= - listview.getFirstVisibleItemを();あなたは' onitemclickedlistener()の残りの位置の使用を開始する前に '' –
日食を与えています私のエラー、私はそれを私のsetOnItemClickListenerの直前に置くのですか?彼らはgetFirstVisiblePosition – bernlim
を使用して、何かを開始する直前に 'setOnItemClickListener()'の中に入れておくことを提案しました。 –