Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用方法更改变量,然后无法将值分配给另一个变量_Java_Android - Fatal编程技术网

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

Java 使用方法更改变量,然后无法将值分配给另一个变量,java,android,Java,Android,我有一个方法将一个变量(声明为=0)更改为一个整数(例如:10),然后我想将这个整数分配给另一个变量(int-playeronicon) 某些活动: public class SomeActivity extends AppCompatActivity implements View.OnClickListener { Integer playerOneIcon= 0, playerIcon = 0; onCreate(Bundle savedInstanceState) { Button

我有一个方法将一个变量(声明为=0)更改为一个整数(例如:10),然后我想将这个整数分配给另一个变量(int-playeronicon)

某些活动

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(视图v)”将运行,它将调用一个弹出对话框,从而调用以下内容中的onClick()

ShowPop1(视图五)

ShowPop1(View v) {
playerIcon = playerOneIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerOneIcon = playerIcon;
}
ShowPop2(View v) {
playerIcon = playerTwoIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerTwoIcon = playerIcon;
}
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

}
ShowPop2(视图五)

ShowPop1(View v) {
playerIcon = playerOneIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerOneIcon = playerIcon;
}
ShowPop2(View v) {
playerIcon = playerTwoIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerTwoIcon = playerIcon;
}
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

}
onClick(v)

ShowPop1(View v) {
playerIcon = playerOneIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerOneIcon = playerIcon;
}
ShowPop2(View v) {
playerIcon = playerTwoIcon;

ChangeHeadDialog.setContentView(R.layout.somelayout);

onClick(v);

playerTwoIcon = playerIcon;
}
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_测试时,结果是0。请帮助,非常感谢!

我通过在showpop1()和showPop2()中添加一个变量,然后在onClick()中运行一个方法解决了这个问题

ShowPop1(视图五)

ShowPop2(视图五)

applyPlayerIconToPlayer(整型playerIcon)

在onClick()内运行applyPlayerIconToPlayer(整数playerIcon):


完成!

你在哪里打印“PlayerOnicon”?到其他帖子可能就是你要找的for@PrashanthVerma为了更好地理解,编辑了这个问题,谢谢!您是在showPop1()之前还是之后调用Toast?请将整个代码放在showPop1()之后?@PrashanthVerma.哦,你想知道更多的是哪一部分?我可以试试,但恐怕这将是一个庞大的代码行。。。