独自のクラス配列リストがあり、そのリストをバインドして、一部のフィールドのみをユーザーに表示する必要があります。BaseAdapter クラスを拡張して独自のアダプター クラスを作成することで、これを試しました。しかし、もっと表示する必要があるフィールド (firstname) を 1 つだけ表示しました。ここに私のアダプタークラスがあります、
private class MyGriAdapter extends BaseAdapter{
ArrayList<Doctor> data;
public MyGriAdapter(ArrayList<Doctor> data){
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView vv = new TextView(getApplicationContext());
vv.setTextColor(Color.BLACK);
vv.setText(data.get(position).firstname);
return vv;
}
@Override
public Object getItem(int arg0) {
return data.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
}
私のボタンクリックイベントはデータをバインドしています(doctorResultListはDoctorタイプの配列リストです)、
GridView grid_main = (GridView)findViewById(R.id.GridView01);
MyGriAdapter grdAdapter = new MyGriAdapter(doctorResultList);
grid_main.setAdapter(grdAdapter);