以下是我用来返回单击按钮时应为1的数字的代码。但是,当我试图从另一个班级获得该数字时,它总是保持为0.
正如您可能认识到的那样,我尝试更改onClickListener中的数字并在下面返回它。
我还尝试使用onPause命令,以便它返回onPause数字,但它仍然无法正常工作。
public class MainActivity extends Activity {
public int number;
Button btnAngled;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
btnAngled = (Button) findViewById(R.id.btnAngled);
final Intent intent = new Intent(this, angledForeheadActivity.class);
btnAngled.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
number = 1;
startActivity(intent);
}
});
}
@Override
protected void onPause() {
super.onPause();
}
public int getNumber() {
return number;
}
}
我尝试使用以下代码获取另一个类中的代码:
MainActivity a = new MainActivity();
int number = a.getNumber();
对于noob问题抱歉..
答案 0 :(得分:1)
将变量声明为静态变量。然后,您只需获得所需的结果,因为该变量只有一个副本。如果要使用intent传递值,可以调用意图的putExtra()将信息传递给另一个活动。 Intent reference page
答案 1 :(得分:0)
您真正想要的是从另一个班级获取该号码。不要将按钮点击一起混合工作。您应该设置模型的概念来存储数据并分离UI和数据,UI只需更改/获取数据。
我建议你使用这两种方法中的任何一种
在Activity中使用静态变量不是一个好主意,它可能会导致memroy泄漏,虽然它可以解决你的问题。