我在相对布局中放置了一个协调器布局。协调器布局包含两个按钮。我设计了常用的onclick功能,但似乎没有点击按钮。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/relativeLayoutMain"
android:layout_margin="0dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.example.shaby.payshare.WorkPageOneFragment">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add1"
android:layout_gravity="bottom|right"
android:text="ADDBene"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add2"
android:layout_gravity="bottom|left"
android:text="AddItem"/>
</android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
Java文件部分为
buttonAddB= (Button)view.findViewById(R.id.add1);
buttonAddB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "Hi", Toast.LENGTH_LONG).show();
}
});
问题是1)我做的是正确的吗? 2)如果是,那么为什么按钮不起作用? 帮助
答案 0 :(得分:1)
两个想法:
1)检查view
中的buttonAddB= (Button)view.findViewById(R.id.add1)
是什么,并指出您认为它指的是什么;
2)你不会说出事情失败后会发生什么,所以我猜它是NPE。尝试将Toast.makeText(getContext(), "Hi", Toast.LENGTH_LONG).show()
更改为Toast.makeText(v.getContext(), "Hi", Toast.LENGTH_LONG).show()
以查看是否有效。 getContext()
可能会返回null。
如果这些没有解决,请发布有关失败的更多信息。