我正在制作我的第一个
Android应用程序,而这里是我被困的地方.
我有一个活动A,需要挑选4名玩家.
我将根据我想填写的玩家传递给活动PickPlayer 1,2,3,4.
ImageButton addp1 = (ImageButton)findViewById(R.id.player1);
addp1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent i = new Intent(getApplicationContext(), PickPlayer.class);
i.putExtra("playersList", playersList);
startActivityForResult(i, 1);
}
});
在PickPlayer活动中,我有一个填充的列表,每个项目都收到一个监听器.
final ArrayList playersList = (ArrayList)getIntent().getSerializableExtra("playersList");
lv.setAdapter(new PlayerItemAdapter(this, android.R.layout.simple_list_item_1, playersList));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> adapter, View view, int position, long arg) {
player = playersList.get(position);
playersList.remove(position);
Intent intentMessage = new Intent();
intentMessage.putExtra("player", player);
intentMessage.putExtra("playersList", playersList);
setResult(RESULT_OK, intentMessage);
finish();
}
});`
通过在活动A上创建playersList并且每次将其从一个传递到另一个并且在点击时从玩家列表中移除玩家,上述工作正常.
问题是如果错误地选择了一个玩家,一旦被其他人替换,他需要再次被放回到列表中.
关于实施这个的任何建议?
我想到的一种方法是从活动A传递到PickPlayer玩家(如果已经在他的位置分配了一个玩家)并再次将他读回到玩家列表,但我确信有更好的方法.
我是android的新手,所以我不知道资源和最佳实践.
(示例通过活动或id传递对象并运行db查询).
谢谢