有人可以帮助我吗?我正在制作一个Android应用程序,它使用切换按钮以yes和no(分别为on和off)的形式收集用户答案。我在点击监听器方法的第一个按钮中设置了以下分支: -
如果点击了切换, 使用已声明和初始化的局部变量来存储数字(例如,1) 其他 使用已声明和初始化的变量来存储不同的数字(例如,2)
好。我意识到我不能在另一个方法中使用局部变量,但是我想从所有切换按钮中收集变量,以便我可以在程序中的其他位置计算用户得分。我该怎么做?
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.ToggleButton;
public class NewActivity1 extends Activity{
public static int exportNumber1 = 0;
public static int exportNumber2 = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_activity1);
final TextView textView = (TextView) findViewById(R.id.textView11);
textView.setText("" + exportNumber1);
final ToggleButton atb1 = (ToggleButton) findViewById(R.id.toggleButton1);
atb1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
int x = 0;
if (atb1.isChecked())
{
x = 1;
}
else
{
x = 2;
}
exportNumber1 = x;
}
});}}
答案 0 :(得分:2)
您应该全局声明这些变量(在您的活动/类声明之后。)
通过这种方式,您可以在该活动中访问所需的任何方法。
例如:
public class MyActivity extends Activity {
public int toggle1, toggle2, toggle3....
//or String or whaterever, you can use these variables to store the values the user selects from within your OnClick listener