使用getResources()获取视图

时间:2015-11-26 11:26:42

标签: android android-layout android-fragments

我想设置布局文件中的TextView文本, 我尝试了setContentView()但它没有工作,因为我正在使用片段。 我尝试使用getResources()。getLayout(R.layout.abc); 它返回null

4 个答案:

答案 0 :(得分:1)

  

我尝试了setContentView()但是因为我正在使用它不起作用   片段

那是错的。您必须覆盖onCreateView并充气并返回要显示的布局,并且可以使用onCreateView,并使用其第一个参数View view来调用findViewById和访问布局中的小部件。您可以阅读更多herehere

答案 1 :(得分:1)

在内部片段中你可以在函数onCreateView()中设置视图,使用下面的代码

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle b) {
         View view = (LinearLayout) inflater.inflate(R.layout.my_layout, container, false);
         return view;
     }

这里my_layout应该是布局文件的名称,

现在你可以在函数onviewcreated()

中查看它
public void onViewCreated(View view, Bundle savedInstanceState){
  // here you can get your textview and set its value
}

竖起大拇指,如果你的答案是正确的

答案 2 :(得分:1)

您可以像这样夸大您的布局:

ViewGroup group = LayouInflate.from(context).inflate(R.layout.abc,null);
TextView tv = group.findViewById(R.id.xxx);

答案 3 :(得分:0)

你必须通过onCreateView方法来扩充布局,然后返回视图。

@Override
    public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.your_layout, container, false);
        TextView yourTextView = (TextView)rootView.findViewById(R.id.yourTextViewId);
        return rootView;
    }