我是一个初学者,想在java中为一个按钮做一个点击监听器,你能帮帮我吗?[重复]

问题描述 投票:1回答:1

我正试图在Android Studio中编译我的代码,代码在这里。

choice1.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view)
        {
            if(choice1.getText().equals(result))
                showToastMessage(true);
            else
                showToastMessage(false);
        }
    });

Android Studio说所有的行都是非法的,不能在android模拟器中运行,因为它不能被编译。谁能帮我解决一下,到底是什么问题?

EDIT:这是我在这个具体实例中使用的代码。

public class FullscreenActivity extends AppCompatActivity {
    private String result = "New York";
    private Button choice1 = (Button)findViewById(R.id.choice1);
    private Button choice2 = (Button)findViewById(R.id.choice2);
    private Button choice3 = (Button)findViewById(R.id.choice3);

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fullscreen);
    }

    choice1.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view)
        {
            if(choice1.getText().equals(result))
                showToastMessage(true);
            else
                showToastMessage(false);
        }
    });

    choice2.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view) {
            if(choice2.getText().equals(result))
                showToastMessage(true);
            else
                showToastMessage(false);
        }
    });

    choice3.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view) {
            if(choice3.getText().equals(result))
                showToastMessage(true);
            else
                showToastMessage(false);
        }
    });
}

    private void showToastMessage(boolean showToastMessage)
    {
            if(showToastMessage)
                Toast.makeText(this, "Correct", toast.LENGTH_SHORT).show();
            else
                Toast.makeText(this, "Wrong", Toast.LENGTH_SHORT).show();
    }

只是我不知道我所学的代码是旧的,还是我犯了错误,或者是什么情况,我只是想尽可能的学习它,所以我才会问。谢谢大家的回复!<3

java android button onclicklistener
1个回答
2
投票

你必须在其中一个生命周期的回调中加入一个点击监听器。如果它是一个活动,把代码移到 "活动 "中。onCreate() 方法。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.filters); 

    choice1.setOnClickListener(new View.OnClickListener(){
     public void onClick(View view)
     {
        if(choice1.getText().equals(result))
            showToastMessage(true);
        else
            showToastMessage(false);
     }
   });

}

如果它是一个片段,把它放在 onViewCreated().

© www.soinside.com 2019 - 2024. All rights reserved.