PDA

View Full Version : onItemClick برای searchview



mnakhaeipoor
چهارشنبه 20 خرداد 1394, 11:08 صبح
سلام
من برای جستجو در میان فهرست مطالب یک کتاب از searchView استفاده کردم
طرف یه مقدار از رشته ای که در دیتابیس ذخیره شده رو که وارد میکنه خودش اتوماتیک یه لیست نشون میده که مقادیری که اون رشته توش هست رو نشون میده

132105

سوال من اینه که وقتی طرف روی یکی از ایتم های لیست کلیک کرد چطوری متوجه بشیم (چون با کلیک روی هر ایتم باید id اون آیتم در دیتابیس گرفته بشه تا محتواش در یک activity دیگه نشون داده بشه) من که هرچی تو document های اندروید نیگاه کردم متد یا اینترفیسی تو مایه های OnItemClick برای searchview پیدا نکردم

tux-world
چهارشنبه 20 خرداد 1394, 11:43 صبح
اینی که شما استفاده کردید Spinner هستش. نمونه کد برای کلیک روش:


spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// your code here
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}

});

mnakhaeipoor
چهارشنبه 20 خرداد 1394, 15:32 عصر
اینی که شما استفاده کردید Spinner هستش. نمونه کد برای کلیک روش:


spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// your code here
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}

});
سلام خیلی ممنوم
جواب رو پیدا کردم
اما اون Spinner رو نمیشه به شکلی که شما فرمودید ازش استفاده کرد چون ابزار serchView که در اکشن بار استفاده میشه اسپینرش و ... built-in هستن
تنها راه استفاده از اینترفیسی به نام SearchView.OnSuggestionListener هست که هر وقت روی یکی از آیتم های جستجو (آیتم های اسپینر) کلیک بشه متد onSuggesstionClick رو فراخوانی میکنه :


@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.searchmenu,menu);
this.menu = menu;


SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.search_bar).getActionView();
searchView.setSearchableInfo(searchManager.getSear chableInfo(getComponentName()));
searchView.setSubmitButtonEnabled(true);
searchView.setOnQueryTextListener(this);
searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() {
@Override
public boolean onSuggestionSelect(int i) {
return false;
}


@Override
public boolean onSuggestionClick(int i) {


//inja mitoonim click haye spiner serachview ro handle konim !


return true;
}
});