2017-08-27 127 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> 

希望這有助於!

相關問題