访问onClickListener中的变量

时间:2014-01-19 16:08:00

标签: android button toggle

有人可以帮助我吗?我正在制作一个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;
        }
    });}}

1 个答案:

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