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之后调用
视图参数来自onViewCreated
getView()
onCreateView()onCreateView
方法调用之前,不能使用findViewById初始化任何视图
因此,您必须等待回调
运行。有两种方法可以得到它。它将在activitycreated上工作,因为它在onCreateView之后调用
视图参数来自onViewCreated
getView()
onCreateView()文本视图在哪里?属于片段还是活动布局?为什么活动类嵌套在片段中?片段由活动托管。我建议您先阅读片段文档,文本视图在哪里?属于片段还是活动布局?为什么活动类嵌套在片段中?片段由活动托管。我建议您先阅读片段文档onActivityCreated()方法也是在onCreateView()之后调用的,这对我很有用。无论如何,谢谢!:)onActivityCreated()方法也是在onCreateView()之后调用的,这对我很有用。无论如何,谢谢!:)谢谢你的接受,因为我在StackOverflow上回答了好几次,但是很多粗鲁的人没有接受我的回答。谢谢你的接受,因为我在StackOverflow上回答了好几次,但是很多粗鲁的人没有接受我的回答。