我有一个listView
(用于在我的登录页面上的edittext中输入的玩家姓名)。我的第二个活动页面(实际游戏是指那些玩家名称(在这里可以看到屏幕顶部的第一个项目:
为了做到这一点,我在登录页面上创建了以下意图:
public void openActivity2() {
Intent intent = new Intent(this, Gamescreen.class);
String s= list.get(0);
intent.putExtra("Name1", s);
startActivity(intent);
}}
在游戏画面中,我这样称道:
Intent iin= getIntent();
Bundle b = iin.getExtras();
if(b!=null)
{
String j =b.getString("Name1");
playerturn.setText(j);
}
基本上我想要的是当我按下游戏屏幕上的按钮(下一个玩家)时,它从列表上的第一个玩家名称移动到第二个玩家名称。就像你一直点击下一个播放器按钮 - >你在列表中向下移动。
我需要为点击按钮制作一个onclicklistener,但是如何以我接近它的当前方式完成剩下的工作呢?非常感谢!
答案 0 :(得分:0)
我要做的是将名称字符串列表存储到本地存储中,如登录页面中的SharedPreferences:
Gson gson = new Gson();
String playerNameListString = gson.toJson(list);
SharedPreferences.Editor editor = getSharedPreferences("prefs_file_name", 0).edit();
editor.putString("player_name_list", playerNameListString);
editor.commit();
在游戏屏幕中,使用以下命令恢复名称字符串:
String playerNameListString = getSharedPreferences("prefs_file_name", 0).getString("player_name_list", null);
Gson gson = new Gson();
final String[] playerNameArray = gson.fromJson(playerNameListString, String[].class);
nextplayer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
playerIndex++;
if (playerIndex > playerNameArray.length) {
playerIndex = 0;
}
playerturn.setText(playerNameArray[playerIndex]);
}
});