当我点击一个微调项目时,它会显示一个ListView
问题描述:
我想做一个应用程序,其中包含一个微调和一个ListView,当我点击一个Sinner项目它将打开一个新的ListView,没有新的活动只是为了更新来自数据库的ListView。当我点击一个微调项目时,它会显示一个ListView
例如,我在Spinner中有欧洲和非洲地区,当我点击欧洲时,它会向我展示一个与欧洲国家的ListView,当我点击非洲时,它会向我显示与非洲国家的ListView。
我在网上搜索了这个,但是我找不到任何东西。
答
首先,要设置微调器,您需要一个适配器。然后你需要使用一个OnItemSelectedListener。使用此代码:
europeListView = (ListView) findViewById(R.id.europeListView);
africaListView = (ListView) findViewById(R.id.africaListView);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.countries, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if(adapter.getItem(i) == "Europe"){
europeListView.setVisibility(View.VISIBLE);
africaListView.setVisibility(View.INVISIBLE);
} else if(adapter.getItem(i) == "Africa"){
africaListView.setVisibility(View.VISIBLE);
europeListView.setVisibility(View.INVISIBLE);
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
最后,创建一个名为“国家”包括欧洲和非洲在strings.xml文件中,像这样的字符串数组:
<string-array name="countries">
<item>Europe</item>
<item>Africa</item>
</string-array>
希望这有助于!