java - 如何在 fragment 中使用方法?

标签 java android xml android-fragments

我正在尝试编写一个 fragment ,它有一个在 TextView 中设置某些内容的方法。所以我有以下 fragment :

public class DetailFragment extends Fragment {
  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
      Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.my_fragment, container, false);
//    setText("set it to something");
    return view;
  }

  public void setText(String item) {
    TextView view = (TextView) getView().findViewById(R.id.detailsText);
    view.setText(item);
  }
}

这很好用。它显示 TextView 。我现在想以编程方式编辑 TextView 中的文本。我想我应该首先从 fragment 中编辑它。所以我已经有了应该能够做到这一点的方法。当我现在取消注释 setText("set it to some"); 时,它给了我一个 InflateException: Error inflateing classfragment.,我不知道为什么。

有人知道我该如何解决这个问题吗?

最佳答案

这样做

class ... extends Fragment{
   private TextView _myTextView;

   onCreateView(...){
       //inflate view

       _myTextView = (TextView)view.findViewById(R.id.text_view);
       editText("blablabla");
   }


   private void editText(String text){
       _myTextView.setText(text);
   }
}

Ypu 必须初始化 onCreateView 中的所有 UI 元素,以便您从正在膨胀的 View 中膨胀!

关于java - 如何在 fragment 中使用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19209565/

相关文章:

wpf - 在 WPF 文本框中显示 XML

xml - Linux,Curl,发送不带 xml 文件的 -X POST

java - Nim 游戏示例静态和随机问题

java - 有条件地分配变量以匹配 xslt 模板中的路径

java - 让java应用程序每天自动运行一次?

java - 如何使用 Java 开发 LBS/GIS 应用程序概述

android - Gradle构建时间太长

android - 如何删除 Realm 对象及其子关系?

android - Cordova - 检查 WIFI 连接到互联网

c# - 使用递归从嵌套对象到 XML 文档