java – Android删除并在活动之间添加到ArrayList
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android删除并在活动之间添加到ArrayList,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1889字,纯文字阅读大概需要3分钟。
内容图文
![java – Android删除并在活动之间添加到ArrayList](/upload/InfoBanner/zyjiaocheng/809/113e8c618dc148c0a52f9573782d999c.jpg)
我正在制作我的第一个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<Player> playersList = (ArrayList<Player>)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删除并在活动之间添加到ArrayList全部内容,希望文章能够帮你解决java – Android删除并在活动之间添加到ArrayList所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。