如何在MainActivity.java中编辑片段布局TextView?

时间:2016-11-28 13:19:14

标签: android textview fragment

我正在使用NavigationDrawer获取菜单,并且菜单上的每个项目都有一个片段,例如我有一个主菜单,其中包含homefragemnt.xml和homefragment.java,所以在xml文件文件中有一个textview我想使用MainActivity.java更改textviews值 并使用以下代码:TextView t1 = (TextView) findViewById(R.id.changetxt);t1.setText("ChangedText"); changetxt是homefragment.xml文件中TextView的id 但是这段代码给出了运行时错误Attempt to invoke virtual method on a null object reference. 是什么导致了这个问题,我该如何解决?

2 个答案:

答案 0 :(得分:1)

您必须从片段视图中获取textview的引用而不是活动。 您在片段的onCreateView中充气的视图。

 @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
     View   view=inflater.inflate(R.layout.myview,container,false);

    TextView t1 = (TextView) view.findViewById(R.id.changetxt);t1.setText("ChangedText");
        return view;
    }

此处视图是使用。

初始化片段的视图

this链接可以帮助您

答案 1 :(得分:0)

片段:

公共类MyFragment扩展了Fragment {

Constants()

}

活动:

myFragment.setTextView( “ChangedText”);

希望它对你有所帮助。