我应该在If Block中添加什么以便它可以比较两个项目?我的意思是,当我单击“法国”列表项时,我想打开“法国”活动,但是当我搜索另一个国家(例如美国)时,我想打开它,因此它会过滤顶部和底部的“美国”和“美国”显示。美国它将在法国开展活动。所以我想在if语句中将法国列表项与列表中的第一个列表项进行比较,如果它是法国,它将打开“法国活动”!
SearchView searchView;
ListView listView;
String[] list = {"France","United States","Spain","China","Italy","United Kingdom","Germany","Mexico","Thailand","Turkey","Austria",
"Malaysia","Hong Kong","Greece","Russia","Japan","Canada","Saudi Arabia","Poland","South Korea","Netherlands"};
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
searchView = (SearchView)findViewById(R.id.search_View);
listView = (ListView)findViewById(R.id.search_list);
adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,list);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
if(What should put here?){
Intent intent = new Intent(view.getContext(),France.class);
startActivity(intent);
}
}
});
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
});
}
获取ListView的项目位置:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String str = listView.getAdapter().getItem(i).toString();
if ( str.equals("France")) {
showToast("France clicked");
}
}
});
private void showToast(String str) {
Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();
}
您也可以将其else if
用于其他字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句