Java 单击待办事项列表中的“添加项目”按钮时,应用程序崩溃
我在导航抽屉中创建了待办事项列表选项, 它会打开,但当我单击“添加项目”按钮时,我的应用程序崩溃。 我有扩展的片段 请帮忙 todo.java的代码: (这是从我的主java文件调用的)Java 单击待办事项列表中的“添加项目”按钮时,应用程序崩溃,java,android,fragment,Java,Android,Fragment,我在导航抽屉中创建了待办事项列表选项, 它会打开,但当我单击“添加项目”按钮时,我的应用程序崩溃。 我有扩展的片段 请帮忙 todo.java的代码: (这是从我的主java文件调用的) 这是因为Android没有将以下内容中的Android:onClick=“onADDItem”关联起来: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android
这是因为Android没有将以下内容中的
Android:onClick=“onADDItem”
关联起来:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD ITEM"
android:id="@+id/btnADDItem"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="onADDItem"
/>
如果方法在活动中,Android只会将onClick链接到onADDItem()。
因此,您需要在片段中使用View.OnClickListener
大概是这样的:
Button btnAdd = (Button) findViewById(R.id.btnADDItem);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// Do something here.
}
});
将UI布局和处理视图单击侦听器的代码分开是一种很好的做法。因此,不要对click listener使用安卓:onClick。让XML布局只针对UI,让UI行为在代码中处理。这将节省您在未来维护噩梦中的时间。这是因为Android没有将以下内容中的
Android:onClick=“onADDItem”
关联起来:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ADD ITEM"
android:id="@+id/btnADDItem"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="onADDItem"
/>
如果方法在活动中,Android只会将onClick链接到onADDItem()。
因此,您需要在片段中使用View.OnClickListener
大概是这样的:
Button btnAdd = (Button) findViewById(R.id.btnADDItem);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// Do something here.
}
});
将UI布局和处理视图单击侦听器的代码分开是一种很好的做法。因此,不要对click listener使用安卓:onClick。让XML布局只针对UI,让UI行为在代码中处理。这将节省您将来维护的时间。日志猫中的异常是…我添加了日志猫。日志猫中的异常是…我添加了日志猫。我需要在onCreateView()中添加此setOnClickListener()。成功了!!我需要在onCreateView()中添加这个setOnClickListener()。成功了!!
public void onADDItem(View v) {
...
}
Button btnAdd = (Button) findViewById(R.id.btnADDItem);
btnNext.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// Do something here.
}
});