android删除活动,java – Android删除并在活动之间添加到ArrayList

我正在制作我的第一个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查询).

谢谢

解决方法:

IMO,你将用单例类(或者在Application实例上的方法 – here一个关于它的良好stackoverflow问题)获得最佳结果.

你的数组将是单例的内部成员,并有一个布尔属性来指示玩家是否已经被选中.使用此属性的一些方法可以实现为:

>列表 getPickedPlayers()

>列表 getNotPickedPlayers()

> void setPlayerPicked(播放器播放器)

> void setPlayerNotPicked(播放器播放器)

>依此类推……

希望能帮助到你!

标签:java,android

来源: https://codeday.me/bug/20190609/1205749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值