我在活动中有一个浮动操作按钮,我打算在片段上显示。当波纹可见时,FAB不会响应点击。 我搜索了类似的问题,但我找到的答案都没有用。
这是我对FAB的布局。
android:onclick="runThis"
我在协调器布局内的布局中重新排列了按钮的顺序但是没有工作。
然后我将 public void runThis(View view) {
Toast.makeText(SlidingMenuActivity.this, "CLICKED", Toast.LENGTH_LONG).show();
}
添加到XML中的FAB和活动中的方法。
{{1}}
获得以下错误:
java.lang.IllegalArgumentException:预期的类型接收器 xxx.xxx.SlidingMenuActivity,但得到了 android.support.v7.internal.view.ContextThemeWrapper
请帮我弄清楚我错过了什么。 谢谢
答案 0 :(得分:1)
尝试使用以下代码并传递代替SlidingMenuActivity
与getApplicationContext()
。它应该工作。
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
答案 1 :(得分:1)
你正在使用片段你应该使用点击监听器,而不是像这样定义onClick on xml .... 在onCreate视图上膨胀工厂......
FloatingActionButton myFab = (FloatingActionButton) myView.findViewById(R.id.homeFAB);
myFab.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
doyourThing();
}
});
或 用getActivity()
替换SlidingActivity.this