Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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 访问ID';来自活动但非主布局的_Java_Android_Layout_Tabs - Fatal编程技术网

Java 访问ID';来自活动但非主布局的

Java 访问ID';来自活动但非主布局的,java,android,layout,tabs,Java,Android,Layout,Tabs,我在主布局中使用一个选项卡视图,其中每个选项卡都有自己的布局。现在,当我想在我的第一个选项卡布局中声明一个按钮时,我得到一个nullPointerException,因为这个按钮的ID在我的主布局中找不到。 因此,当我使用时,请用代码进行解释: Button button = (Button) findViewById(R.id.button1); 按钮在我的第一个选项卡的布局中,我将得到一个NullPointerException,因为代码选择我的主布局而不是我的第一个选项卡布局 解决这个问

我在主布局中使用一个选项卡视图,其中每个选项卡都有自己的布局。现在,当我想在我的第一个选项卡布局中声明一个按钮时,我得到一个nullPointerException,因为这个按钮的ID在我的主布局中找不到。 因此,当我使用时,请用代码进行解释:

Button button = (Button) findViewById(R.id.button1);
按钮在我的第一个选项卡的布局中,我将得到一个NullPointerException,因为代码选择我的主布局而不是我的第一个选项卡布局


解决这个问题的最佳方法是什么?

我借助于withparadox2解决了我的问题。 这是我使用的代码:

LayoutInflater inflater = LayoutInflater.from(this);
ViewGroup firstTab = (ViewGroup) inflater.inflate(R.layout.first_tab_fragment, null);

我不得不把它放在onCreate()之后,而不是
findViewById()
我现在使用
firstTab.findViewById()

你想让我发布什么代码?代码的其余部分并没有提供更多的信息。您可以先放大表格布局,然后使用
teballayout.findViewById(R.id.button1)
@JoppeD如果您发布完整的代码,那么我可以找到您的错误所在并尝试提供解决方案。@paradox2您能解释一下如何放大表格布局吗?我见过一些关于这方面的东西,但它对我不起作用,所以也许你有一种不同的方式来做它
LayoutInflater LayoutInflater=LayoutInflater.from(context)
ViewGroup layout=layoutInflater.flate(R.layout.your\u tab\u layout,null)
按钮=(按钮)布局。findViewById(R.id.button1)