2017-08-27 123 views
-2

我想做一个应用程序,其中包含一个微调和一个ListView,当我点击一个Sinner项目它将打开一个新的ListView,没有新的活动只是为了更新来自数据库的ListView。当我点击一个微调项目时,它会显示一个ListView

例如,我在Spinner中有欧洲和非洲地区,当我点击欧洲时,它会向我展示一个与欧洲国家的ListView,当我点击非洲时,它会向我显示与非洲国家的ListView。

我在网上搜索了这个,但是我找不到任何东西。

回答

1

首先,要设置微调器,您需要一个适配器。然后你需要使用一个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> 

希望这有助于!

相关问题