Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.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 获取片段OnCreate()方法中Textview的Id_Java_Android_Android Fragments_Android Activity - Fatal编程技术网

Java 获取片段OnCreate()方法中Textview的Id

Java 获取片段OnCreate()方法中Textview的Id,java,android,android-fragments,android-activity,Java,Android,Android Fragments,Android Activity,我试图在片段的onCreate()方法中获取文本视图的Id。每次返回null 我想在片段中显示我的联系人。对于FetchContact()方法的末尾,我将联系人列表分配给TextView 因为当我找到TextView时,我的代码返回null,所以我的应用程序给出了NullPointerException。 任何人都可以告诉我如何在onCreate()方法中获取Fragment的Id 我试图创建一个activity类的对象来获取TextView,但代码仍然返回null。不走运 public cla

我试图在片段的
onCreate()
方法中获取文本视图的Id。每次返回
null

我想在片段中显示我的联系人。对于
FetchContact()
方法的末尾,我将联系人列表分配给
TextView

因为当我找到
TextView
时,我的代码返回
null
,所以我的应用程序给出了
NullPointerException
。 任何人都可以告诉我如何在
onCreate()
方法中获取
Fragment
Id

我试图创建一个activity类的对象来获取
TextView
,但代码仍然返回
null
。不走运

public class ContactsFragment extends Fragment {

public TextView outputtext;
Context context;

class ActivityObj extends Activity{
    public TextView text;
    Context objContext;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        text =(TextView)findViewById(R.id.textContact);
       objContext = getApplicationContext();
       super.onCreate(savedInstanceState);
    }
}


@Override
public void onCreate(Bundle savedInstanceState) {
    ActivityObj obj = new ActivityObj();
    super.onCreate(savedInstanceState);
    outputtext =(TextView) getView().findViewById(R.id.textContact);
 //  outputtext= obj.text;
    context=getActivity().getApplicationContext();

    //fetchContacts();

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

    View rootView = inflater.inflate(R.layout.contacts_layout, container, false);
    return rootView;
}
使用

rootView.findViewById(R.id…)
在oncreateView中,您应该在其中执行与UI相关的工作

rootView.findViewById(R.id…)
在oncreateView中,您应该在其中执行与UI相关的工作

查找文本视图我的应用程序提供的NullPointerException

因为在片段生命周期
onCreate
方法中,在
onCreateView
方法之前调用了该方法

覆盖
onViewCreated
方法后调用的
onCreateView
方法,并使用
onViewCreated
方法的第一个参数从片段布局访问视图:

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        TextView text =(TextView)view.findViewById(R.id.textContact);
         /// your code here....
}
查找文本视图我的应用程序提供的NullPointerException

因为在片段生命周期
onCreate
方法中,在
onCreateView
方法之前调用了该方法

覆盖
onViewCreated
方法后调用的
onCreateView
方法,并使用
onViewCreated
方法的第一个参数从片段布局访问视图:

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        TextView text =(TextView)view.findViewById(R.id.textContact);
         /// your code here....
}

在onActivityCreated方法上应该这样使用

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        TextView tv = (TextView) getActivity().findViewById(R.id.textView1);

        }
    }

或者使用回调

在ActivityCreated方法上应该这样使用

@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        TextView tv = (TextView) getActivity().findViewById(R.id.textView1);

        }
    }
或者使用回调

onCreateView
方法调用之前,不能使用findViewById初始化任何视图

因此,您必须等待
回调
运行。有两种方法可以得到它。它将在activitycreated上工作,因为它在onCreateView之后调用

  • ρцσѕρєK所述,使用的
    视图参数来自onViewCreated
  • 您可以在之后调用的任何回调(委托)中调用
    getView()
    onCreateView()
  • onCreateView
    方法调用之前,不能使用findViewById初始化任何视图

    因此,您必须等待
    回调
    运行。有两种方法可以得到它。它将在activitycreated上工作,因为它在onCreateView之后调用

  • ρцσѕρєK所述,使用的
    视图参数来自onViewCreated
  • 您可以在之后调用的任何回调(委托)中调用
    getView()
    onCreateView()

  • 文本视图在哪里?属于片段还是活动布局?为什么活动类嵌套在片段中?片段由活动托管。我建议您先阅读片段文档,文本视图在哪里?属于片段还是活动布局?为什么活动类嵌套在片段中?片段由活动托管。我建议您先阅读片段文档onActivityCreated()方法也是在onCreateView()之后调用的,这对我很有用。无论如何,谢谢!:)onActivityCreated()方法也是在onCreateView()之后调用的,这对我很有用。无论如何,谢谢!:)谢谢你的接受,因为我在StackOverflow上回答了好几次,但是很多粗鲁的人没有接受我的回答。谢谢你的接受,因为我在StackOverflow上回答了好几次,但是很多粗鲁的人没有接受我的回答。