我在工作中使用ActionBar.TabListener。有4个选项卡,每个选项卡都有自己的片段。当我想通过OnTabSelected函数更改选项卡时,我尝试在片段中找到用于动态添加表格的tablelayout。但它返回null除外。在这里搜索了很多文章后,我认为原因是我在旧的片段布局中找到了id。应该等待当前片段准备好了。 (比如onFinishinflate()?)谁能告诉我怎么弄清楚?非常感谢!
这是我的代码
public void onTabSelected(ActionBar.Tab tab,FragmentTransaction fragmentTransaction{
mViewPager.setCurrentItem(tab.getPosition());
if (tab.getPosition() == 0){
TableLayout table = (TableLayout) this.findViewById(R.id.TableLayout1);
}
}
答案 0 :(得分:1)
而不是使用
this.findViewById
使用
getActivity().findViewById
或创建一个在开头存储Context的变量:
Context context = this;
然后使用
context.findViewById