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