setOnClickListener中的变量可见性

时间:2012-11-14 20:30:36

标签: java android visibility alertdialog

我想在按钮A中进行处理时禁用按钮B.

public class GoJump extends Activity{
    Button answerA, answerB;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jump);
answerA = (Button) findViewById(R.id.button_A);
answerB = (Button) findViewById(R.id.button_B);

    answerA.setOnClickListener(new OnClickListener() 
    {
                public void onClick(View v) 
                   {
                     // Do something
                     // Disable button B
                   }
    });

问题是按钮B在按钮A处理中不可见。我必须再次宣布禁用它。 还有其他方法吗?使变量在所有类中可见。 谢谢。

2 个答案:

答案 0 :(得分:1)

在onCreate()之前初始化变量。

// Before onCreate
private Button b, b2;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    b = (Button) findViewById(R.id.button);
    b2 = (Button) findViewById(R.id.button2);

    b.setOnClickListener(new OnClickListener() 
    {
            public void onClick(View v) 
            {
                b2.setEnabled(false);
            }
    });
{

答案 1 :(得分:1)

您只需要setEnabled为假。阅读此javadoc

          public void onClick(View v) 
                   {
                     answerB.setEnabled(false);
                   }