Android使用Fragment,不能得到Fragment内部控件,findViewById()结果是Null

intergameover intergameover 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序非常简单,好长时间没有搞定,郁闷。。。。。。。。。。。。
描述:
一个Activity:MainActivity,内部是一个Fragment:FragmentA,FragmentA里面有TextView。
问题:无论如何也得不到FragmentA内部的TextView,返回值永远是Null
具体描述:
MainActivity的layout:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">

<fragment android:name="com.fragmentexercise.FragmentA"
android:id="@+id/fragment_a"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>


FragmentA的layout:fragment_a.xml
<?xml version="1.0" encoding="utf-8"?>  

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:textSize="18sp"
android:text="初始化文本" />

MainActivity.java
public class MainActivity extends Activity {  

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

FragmentA.java
public class FragmentA extends Fragment {  

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_a, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// TextView textView1 = (TextView) getView().findViewById(R.id.textView1);
// textView1.setText("改变");
}


具体问题:
在FragmentA.onActivityCreated()中,
TextView textView1 = (TextView) getView().findViewById(R.id.textView1); 得到的始终是Null。

在Fragment.onCreateView()中,
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 第二个参数 container一直是个空值

在MainActivity中,findViewById(R.id.textView1), 同样是空值。


问题在哪里呢??????????
...全文
评论 11
收藏 已收藏
分享
返回顶部
intergameover
Android 80,489 成员 91,375 内容