浮动操作按钮不响应点击

时间:2016-11-25 11:09:07

标签: android android-layout android-coordinatorlayout

我在活动中有一个浮动操作按钮,我打算在片段上显示。当波纹可见时,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

请帮我弄清楚我错过了什么。 谢谢

2 个答案:

答案 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