アダプタListViewのAndroidが同じ項目に多くの時間を表示します
import ...;
public class CustomAdapter extends ArrayAdapter<MyObject> {
public CustomAdapter(Context context, ArrayList<MyObject> objects) {
super(context, 0, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
View view1 = inflater.inflate(R.layout.row, parent, false);
MyObject myobj = getItem(position);
String objectName = myobj.getName();
TextView name_TV = (TextView) view1.findViewById(R.id.name);
name_TV.setText(objectName);
return view1;
}
}
MainActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList <MyObject> obj_list = new ArrayList<MyObject>();
obj_list.add(new MyObject("user1", 123));
obj_list.add(new MyObject("user2", 123));
obj_list.add(new MyObject("user3", 123));
CustomAdapter adptr = new CustomerAdapter(this, obj_list);
ListView lv = (ListView) findViewById(R.id.abcListview);
lv.setAdapter(adptr);
}
MyObjectにクラス
public class MyObject{
String a;
int b;
public MyObject(String a, int b){
this.a = a;
this.b = b;
}
public String getName(){
return a;
}
}
「user1」を1回、「user2」を1回、「user3」を1回印刷する代わりに、3回。上記のコードの
編集 結果は:http://imgur.com/BBJS0wt
は、(1)(2)RecyclerViewを使用してくださいするのに役立ちます(3)MyObjectクラスのポストコード –
@GregEnnis MyObjectクラスのコードを追加しました。私はアンドロイドプログラミングに新しいです、私はRecyclerViewが何であるか分かりません。 – szz
オブジェクトをArrayListに追加する前に、CustomAdapter adptrを作成して設定してみてください。 ArrayListにオブジェクトを追加し、lv.notifyDataSetChanged()を使用します。 同じことをするかどうか確認してください。 – Rob