1
我在我的應用程序下面的類:如何將信息傳遞到自定義ArrayAdapter的getView?
public class Player implements Parcelable {
private String name;
private int playerColor;
private int[] scores;
...
}
我怎麼告訴我的ArrayAdapter的getView方法得分陣列的哪個元素在相關列表視圖中顯示?我希望在ListView中顯示player.name字段以及player.scores數組中的特定元素,這些信息基於活動的信息。
public class PlayerGameAdapter extends ArrayAdapter<Player> {
private ArrayList<Player> entries;
private Activity activity;
public PlayerGameAdapter(Activity a, int viewResourceId, ArrayList<Player> entries) {
super(a, viewResourceId, entries);
this.entries = entries;
this.activity = a;
}
public static class ViewHolder {
public Button buttonName;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
ViewHolder holder;
if (v == null) {
LayoutInflater vi =
(LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.listview_row_player_game, null);
holder = new ViewHolder();
holder.buttonName = (Button) v.findViewById(R.id.buttonGamePlayerListName);
v.setTag(holder);
} else
holder = (ViewHolder) v.getTag();
final MiniGolfPlayer player = entries.get(position);
if (player != null) {
holder.buttonName.setText(player.getName() + " - " + player.scores[ELEMENT]);
}
return v;
}
}
您是否在列表視圖中顯示玩家信息。或者您正在顯示玩家結果。你不時想換個玩家。 – hasan83
兩者。我想在活動中確定他們的名字和他們在特定回合中的得分。 – CovertDad
你可以編輯你的問題來包含PlayerGameAdapter的構造函數嗎? – hasan83