2016-03-11 80 views
0

我對Android Studio甚至是java都很陌生,所以我有一些基本的問題。 我想填充ListView和關於動物的數據。在Android Studio中填充ArrayList,最佳方式(初學者級別)?

這樣做的最佳方式是什麼? 例如,我有一個包含價格標籤的貓和狗類(兩種不同的獎品)。現在我想在我的ListView中顯示各自的獎品。

如何正確設置?我不知道如何在ArrayList中獲取該信息,因此可以將其傳遞給ListView。

希望你們能在那裏支持我一點。謝謝:)

+0

http://stackoverflow.com/questions/5070830/populating-a-listview-using-arraylist –

+0

的可能的複製謝謝你,有我可以看到如何在那裏添加信息。我可以把貓會放在那裏和狗狗。 Listview如何知道哪些信息屬於哪種動物呢? –

+0

就像一個普通的多維數組。動物[0] [10]和動物[1] [20]?或類似的東西。 arrayadapter或listview如何知道哪些信息屬於哪裏。這就是我沒有真正得到的:/ –

回答

0
public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // initial the arraylist 
     List<Animal> animals = new ArrayList<Animal>() {{ 
      add(new Dog()); 
      add(new Cat()); 
     }}; 
     // get a list view 
     ListView listView = (ListView) findViewById(R.id.list_view); 
     listView.setAdapter(new MyAdapter(animals)); 
    } 

    // this is your custom adapter 
    static class MyAdapter<Animal> extends BaseAdapter { 

     private List<Animal> animalList; 

     public MyAdapter(List<Animal> animalList) { 
      this.animalList = animalList; 
     } 

     @Override 
     public int getCount() { 
      return animalList.size(); 
     } 

     @Override 
     public Animal getItem(int position) { 
      return animalList.get(position); 
     } 

     @Override 
     public long getItemId(int position) { 
      return position; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      Animal animal = getItem(position); 
      if(animal instanceof Dog){ 
       // do dog things 
      }else if(animal instanceof Cat){ 
       // do cat things 
      } 
      // you might want inflate your custom item view at here 
      return null; 
     } 
    } 

    static interface Animal { 
     // customize your interface as you wish 
    } 

    static class Cat implements Animal { 

    } 

    static class Dog implements Animal { 

    } 
} 
+0

Vielen lieben Dankfürdieses Beispiel!並且可以通過使用其他方法來實現。 Ich glaub ich habs verstanden :) 帽子超級funktioniert! –