আমি SearchView
অ্যান্ড্রয়েড +.০+ অ্যাকশনবারে এর জন্য সমর্থন যুক্ত করার চেষ্টা করছি , তবে আমি OnCloseListener
কাজটি করতে পারি না ।
আমার কোডটি এখানে:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
searchLibrary(newText);
return false;
}
@Override
public boolean onQueryTextSubmit(String query) { return false; }
});
searchView.setOnCloseListener(new OnCloseListener() {
@Override
public boolean onClose() {
System.out.println("Testing. 1, 2, 3...");
return false;
}
});
return true;
}
অনুসন্ধান দুর্দান্ত কাজ করে এবং প্রত্যেকে বাদে কাজ করছে OnCloseListener
। লগক্যাটে কিছুই মুদ্রিত হচ্ছে না। আমি যখন "বন্ধ" বোতাম টিপছি তখন লগক্যাটটি এখানে রয়েছে:
02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): TextType = 0x0
আমি ডকুমেন্টেশন এবং নমুনাগুলি দেখেছি , তবে কিছুই এটিকে পরিবর্তন করে বলে মনে হচ্ছে না। আমি এটি একটি আসুস ট্রান্সফর্মার প্রাইম এবং একটি গ্যালাক্সি নেক্সাসে চালিয়ে যাচ্ছি, উভয়ই আইসক্রিম স্যান্ডউইচে। কোন ধারনা?
হালনাগাদ:
হ্যাঁ - System.out.println()
না হবে। এখানে প্রমাণ:
@Override
public boolean onQueryTextChange(String newText) {
System.out.println(newText + "hello");
searchLibrary(newText);
return false;
}
এই লগক্যাট ফলাফল:
02-17 13:04:20.094: I/System.out(21152): hello
02-17 13:04:24.914: I/System.out(21152): thello
02-17 13:04:25.394: I/System.out(21152): tehello
02-17 13:04:25.784: I/System.out(21152): teshello
02-17 13:04:26.064: I/System.out(21152): testhello
showAsAction
সেট করা থাকলে আমি দুটি জিনিস শিখেছি always
। অনুসন্ধান বাক্সটির নিজস্ব একটি ঘনিষ্ঠ বোতাম রয়েছে তবে এটি সেট করা থাকলে ifRoom | collapseActionView
অ্যাকশন বারে প্রসারিত হয়।