-1
我的最後一個應用程序有一個自定義佈局listview
,我可以添加項目,這些項目將出現在listview
。 現在,我想創建一個應用程序,也有自定義佈局,listview
,但每行都存在3個不同的字符串,所以在我的應用程序將給出一個新行之前,您必須鍵入3個不同的字符串,而不是他會做出新排。但是這不起作用......你能幫我解決我犯了什麼錯誤嗎?謝謝!動態添加行到自定義listView(每行有多個字符串)
主要活動
ListView ListView ;
EditText editTextMerk ;
EditText editTextBeschrijving ;
EditText editTextKm ;
Button voegToe ;
ArrayList<String> merk;
ArrayList<String> beschrijving ;
ArrayList<String> km ;
CustomAdapter adapter ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextMerk = (EditText) findViewById(R.id.editTextMerk) ;
editTextBeschrijving = (EditText) findViewById(R.id.editTextBeschrijving) ;
editTextKm = (EditText) findViewById(R.id.editTextKm) ;
ListView =(ListView) findViewById(R.id.Listview) ;
adapter = new CustomAdapter(this , merk , beschrijving , km) ;
ListView.setAdapter(adapter);
voegToe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
merk.add(editTextMerk.getText().toString()) ;
beschrijving.add(editTextBeschrijving.getText().toString()) ;
km.add(editTextKm.getText().toString()) ;
adapter.notifyDataSetChanged();
}
});
}
這是我CustomAdapter類
LayoutInflater mInflater ;
ArrayList<String> merk;
ArrayList<String> beschrijving ;
ArrayList<String> km ;
public CustomAdapter(Context c, ArrayList<String> merk, ArrayList<String> beschrijving, ArrayList<String> km) {
this.merk = merk;
this.beschrijving = beschrijving;
this.km = km;
mInflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
}
@Override
public int getCount() {
return merk.size();
}
@Override
public Object getItem(int position) {
return merk.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = mInflater.inflate(R.layout.layout_row, null) ;
TextView brand = (TextView) v.findViewById(R.id.textViewMerk) ;
TextView discription = (TextView) v.findViewById(R.id.textViewBeschrijving) ;
TextView distance = (TextView) v.findViewById(R.id.textViewKm) ;
brand.setText(merk.get(position));
discription.setText(beschrijving.get(position));
distance.setText(km.get(position));
return v;
}
的[動態添加項目使用Android應用自定義適配器列表視圖]可能的複製(https://stackoverflow.com/questions/23939800 /動態添加項到列表視圖,使用定製適配器換Android的應用程序) –