Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Include-in-Android:findviewbyd返回null_Java_Android_Findviewbyid - Fatal编程技术网

Java Include-in-Android:findviewbyd返回null

Java Include-in-Android:findviewbyd返回null,java,android,findviewbyid,Java,Android,Findviewbyid,我有一些应用程序。 我在安卓5.1上编写并测试了它。当我尝试在Android 6.0上运行我的应用程序时,我遇到了一个例外。在我尝试绑定一个FloatingActionButton并设置OnClickListener后出现异常,原因是null。当我尝试使用FrameLayout从“include”指令获取FindViewById时,FindViewById返回null MainActivity.java public class MainActivity extends AppCompatAct

我有一些应用程序。 我在安卓5.1上编写并测试了它。当我尝试在Android 6.0上运行我的应用程序时,我遇到了一个例外。在我尝试绑定一个FloatingActionButton并设置OnClickListener后出现异常,原因是null。当我尝试使用FrameLayout从“include”指令获取FindViewById时,FindViewById返回null

MainActivity.java

public class MainActivity extends AppCompatActivity {

    private Context instance;

    private MainPagerAdapter mSectionsPagerAdapter;

    public ViewPager mViewPager;

    FloatingActionButton fab;
    FloatingActionButton fab_settings;
    TabLayout tabLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        mSectionsPagerAdapter = new MainPagerAdapter(getSupportFragmentManager(), this);

        mViewPager = (ViewPager) findViewById(R.id.container);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(mViewPager);

        fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(fabOnClick);

        fab_settings = (FloatingActionButton) findViewById(R.id.fab_settings); // <---- Returns null

        fab_settings.setOnClickListener(setsOnClick); // <---- Exception
    }
}
致:



之后,
fab_settings
仍然为空。我不明白为什么

您可以为setOnClickListerner方法的FloatingActionButton编写类似的代码

 fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    //Write here anything that you wish to do on click of FAB
}
});

首先查找具有fab_frame id的framelayout。第二个framelayout.findviewbyid(您的fab id) 检查此问题

您尚未声明“fabOnClick”和“SetOnClick”。声明它们,希望它能解决问题

fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(fabOnClick);

            fab_settings = (FloatingActionButton) findViewById(R.id.fab_settings); // 

            fab_settings.setOnClickListener(setsOnClick); // <---- Exception
fab=(FloatingActionButton)findViewById(R.id.fab);
fab.setonclick监听器(fabOnClick);
fab_设置=(FloatingActionButton)findViewById(R.id.fab_设置);//
fab_settings.setOnClickListener(setonclick);// 我解决了我的问题

这是我的错误。我没有注意到活动所在的新文件夹
layout-v23
。删除
layout-v23
后,我的问题得到解决


谢谢大家。

这不是问题/问题。您是否可以编辑您的答案并将logcat中的日志粘贴到错误中?为什么我感觉错误来自viewPager和tabLayout。这两个都不会在布局文件中声明。请从logcat粘贴日志。您是否尝试将FrameLayout的高度设置为
“wrap_content”
?或者它必须是
“match\u parent”
?更新
activity\u main.xml
“wrap\u content”
“match\u parent”
这没关系-返回null。他说:“当我试图从“include”指令使用FrameLayout获取FindViewById时,它返回null。”
fabOnClick
SetOnClick
不是问题。帧为空。此解决方案应该可以工作,如果不行,那么您应该彻底检查其他问题哪些问题可以解决?尝试从includeI中删除id。我试过了,它不起作用了fab_布局=(FrameLayout)findviewbyd(R.id.fab_框架);fab_设置=(FloatingActionButton)fab_布局.findViewById(R.id.fab_设置)`
<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_margin="@dimen/fab_margin"
    app:srcCompat="@drawable/ic_menu_white_24dp"
    app:fabSize="mini" />
 <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@drawable/ic_menu_white_24dp"
        app:fabSize="mini" />
 <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab_settings"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@drawable/ic_menu_white_24dp"
        app:fabSize="mini" />
 fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    //Write here anything that you wish to do on click of FAB
}
});
fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(fabOnClick);

            fab_settings = (FloatingActionButton) findViewById(R.id.fab_settings); // 

            fab_settings.setOnClickListener(setsOnClick); // <---- Exception
View frame = findViewById(R.id.fab_frame);

fab_settings = frame.findViewById(R.id.fab_settings);
fab_settings.setOnClickListener(setsOnClick);