使用方法更改变量,然后无法将值分配给另一个变量

时间:2018-09-24 18:43:00

标签: java android

我有一种方法可以将变量(声明为= 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。请帮忙,非常感谢!

1 个答案:

答案 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;
}}

完成!

相关问题