Android 按下指定按钮时,我设置的onClick事件未触发

Android 按下指定按钮时,我设置的onClick事件未触发,android,Android,我一直在为一个我参与的项目开发一个Android应用程序,我发现一个按钮有问题,我已经搜索了几天了。我遇到的问题是,由于某种原因,onClick事件没有为我设置的按钮触发 以下是Java: public class Dashboard extends AppCompatActivity implements OnClickListener { private Toast toast; @Override protected void onCreate(Bundle

我一直在为一个我参与的项目开发一个Android应用程序,我发现一个按钮有问题,我已经搜索了几天了。我遇到的问题是,由于某种原因,onClick事件没有为我设置的按钮触发

以下是Java:

    public class Dashboard extends AppCompatActivity implements OnClickListener
{
    private Toast toast;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        final Button fuelPageButton;
        super.onCreate(savedInstanceState);
        fuelPageButton = (Button)findViewById(R.id.fuelButton);
        setContentView(R.layout.activity_main2);

        fuelPageButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v)
    {
        toast.makeText(Dashboard.this ,"Button pressed!", Toast.LENGTH_SHORT);
        //setContentView(R.layout.fuel_saved);
    }
}
以下是按钮的XML:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/fuelButton"
        android:layout_below="@+id/textView6"
        android:layout_alignBottom="@+id/textView7"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="48dp"
        android:layout_marginTop="-4dp"
        android:layout_marginRight="-1dp"
        android:layout_marginLeft="-2dp"
        android:clickable="true" />

在调用
findViewById
之前,您必须调用
setContentView

  @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        final Button fuelPageButton;
        fuelPageButton = (Button)findViewById(R.id.fuelButton);  
        fuelPageButton.setOnClickListener(this);
    }

您必须先调用
setContentView
,然后才能调用
findViewById

  @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        final Button fuelPageButton;
        fuelPageButton = (Button)findViewById(R.id.fuelButton);  
        fuelPageButton.setOnClickListener(this);
    }

你做了一个祝酒词,但你没有把.show()放在后面。那时候就不会出现了

  toast.makeText(Dashboard.this ,"Button pressed!", Toast.LENGTH_SHORT).show();

事实上,在findviewbyid之前设置ContentView…(请参阅@Arthur Korchagin)

您敬酒了,但没有将.show()放在后面。那时候就不会出现了

  toast.makeText(Dashboard.this ,"Button pressed!", Toast.LENGTH_SHORT).show();

事实上,在findviewbyid之前设置ContentView…(请参阅@Arthur Korchagin)

我尝试了这个方法,但onClick方法仍然没有启动。我尝试了这个方法,onClick方法仍然没有启动。