android - 带有 SearchView 的 Android ListView,过滤后的搜索结果不会指向正确的意图
问题描述
首先,我是一个初学者,所以请在这里稍等片刻。
我正在尝试创建一个包含项目列表的应用程序。当您单击该项目时,您将转到一个新的相应活动。当我添加一个 SearchView 来过滤列表项时,现在点击过滤结果的问题不会指向相应的活动。
您能否更正我下面的代码或提供更好的方法来指导相应的活动。请提供尽可能详细的信息。非常感谢你。
MainActivity.java
public class MainActivity extends Activity
implements SearchView.OnQueryTextListener {
private SearchView mSearchView;
private ListView mListView;
private final String[] mStrings = { "Google", "Apple", "Samsung", "Sony", "LG", "HTC" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_main);
mSearchView = findViewById(R.id.search_view);
mListView = findViewById(R.id.list_view);
mListView.setAdapter(new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1,
mStrings));
mListView.setTextFilterEnabled(true);
setupSearchView();
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 0) {
Intent i = new Intent(MainActivity.this, google.class);
startActivity(i);
} else {
// code to direct to the corresponding activity
}
});
}
private void setupSearchView() {
mSearchView.setIconifiedByDefault(false);
mSearchView.setOnQueryTextListener(this);
mSearchView.setSubmitButtonEnabled(true);
mSearchView.setQueryHint("Search Here");
}
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
mListView.clearTextFilter();
} else {
mListView.setFilterText(newText);
}
return true;
}
public boolean onQueryTextSubmit(String query) {
return false;
}
}
解决方案
if (position == 0) {
Intent i = new Intent(MainActivity.this, google.class);
startActivity(i);
} else if ( position == 1){
// do something, sending to activity of choice
} else if ( position == 2){
// do something , sending to activity of choice
}
重复此操作以获取您想要多少不同的活动。
推荐阅读
- jquery - 如何将滚动条保持在先前的位置?
- .net-core - 机器人配置不包含 ID 为“basic-bot-LUIS”的“luis”服务类型。(.NET 核心)
- javascript - 如何在 safari 应用程序和从 safari 应用程序扩展资源文件夹加载的 html 页面之间进行通信
- node.js - Alexa ASK SDK V2 Nodejs Dialog Delegate Directive 覆盖卡响应
- php - Laravel 相同的 cookie 值
- java - 部署 jar Tomcat 8
- html - 子集数据框时值不在索引中
- apache-spark - ELK apache spark应用日志
- reverse-engineering - 如何理解 IR 校验和
- api - AutoML API 设置问题