首页 > 解决方案 > 我是一个初学者,试图为java中的按钮制作一个点击监听器,你能帮我吗?

问题描述

我正在尝试在 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 模拟器中运行,因为它无法编译。有人可以帮我解决问题吗?

编辑:这是我在这个特定实例中使用的代码:

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

标签: javaandroidbuttononclicklistener

解决方案


您必须在生命周期回调之一中放置一个单击侦听器。如果是活动,请将代码移至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().


推荐阅读