我有一种方法可以将变量(声明为= 0)更改为整数(例如:10),然后我想将此整数分配给另一个变量(int playerOneIcon)
SomeActivity
:
public class SomeActivity extends AppCompatActivity implements View.OnClickListener {
Integer playerOneIcon= 0, playerIcon = 0;
onCreate(Bundle savedInstanceState) {
Button btn_test = findViewById(R.id.btn_test);
btn_test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ii_PlayerSetting.this, String.valueOf(playerOneIcon), Toast.LENGTH_SHORT).show();
}
});
}
ShowPop1(View v) { }
//Will paste it below
ShowPop2(View v) { }
//Will paste it below
public void onClick(View v){ }
//Will paste it below
}
“ ShowPop1(View v)将在用户单击按钮时运行,它将调用一个弹出对话框,因此在以下位置调用onClick():
ShowPop1(View v)
ShowPop1(View v) {
playerIcon = playerOneIcon;
ChangeHeadDialog.setContentView(R.layout.somelayout);
onClick(v);
playerOneIcon = playerIcon;
}
ShowPop2(View v)
ShowPop2(View v) {
playerIcon = playerTwoIcon;
ChangeHeadDialog.setContentView(R.layout.somelayout);
onClick(v);
playerTwoIcon = playerIcon;
}
onClick(v)
onClick(v){
playerIcon = 10;
ChangeHeadDialog.dismiss();
//if i put "playerOneIcon = playerIcon;" here, it will work, but I can't since it may be playerTwoIcon that should assign instead
}
然后,当我按下btn_test时,结果为0。请帮忙,非常感谢!
答案 0 :(得分:0)
我已经解决了它,方法是在showpop1()和showPop2()中再添加一个变量,然后在onClick()中运行一个方法。
ShowPop1(View v)
false
ShowPop2(View v)
ShowPop1(View v) {
playerIcon = playerOneIcon;
//New Line
String playerSelected = "player1"
//New Line
ChangeHeadDialog.setContentView(R.layout.somelayout);
onClick(v);
}
applyPlayerIconToPlayer(Integer playerIcon)
ShowPop2(View v) {
playerIcon = playerTwoIcon;
//New Line
String playerSelected = "player2"
//New Line
ChangeHeadDialog.setContentView(R.layout.somelayout);
onClick(v);
}
在onClick()中运行applyPlayerIconToPlayer(Integer playerIcon):
private void applyPlayerIconToPlayer(Integer playerIcon) {
switch (playerSelected){
case "player1":
playerOneIcon = playerIcon;
break;
case "player2":
playerTwoIcon = playerIcon;
break;
}}
完成!