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

news/2024/8/26 10:12:22

程序很easy。好长时间没有搞定。郁闷。。。。

。。。。

在论坛咨询,最终找到答案。

描写叙述:

一个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),   相同是空值。


问题在哪里呢??????????


===============================================================================================================

原因


让Activity 继承 android.support.v4.app.FragmentActivity, 让Fragment继承android.support.v4.app.Fragment就能够了

这样。在FragmentA的onStart等方法中,getActivity().findViewById(R.id.textView1) 就能得到这个TextView。


直接继承 android.app.Fragment,就不行。或许是Android的bug吧。

事实上我是依照developer.android.com上的trainning的样例做的。那个样例是为了兼容android3.0曾经的系统,继承了android.support.v4.app.Fragment。官方样例执行正常。


我的手机是Android4.1的,能够支持Fragment。所以我直接继承了adnroid.app.Fragment。结果就死活不成功。

想不到是这个原因。


http://www.niftyadmin.cn/n/3093653.html

相关文章

JavaScript其它特殊对象

2019独角兽企业重金招聘Python工程师标准>>> Navigator: 说明: navigator对象是识别客户端浏览器的标准,每个浏览器中的navigator对象有一套自己的属性 属性名称属性说明appName完整的浏览器名称cookieEnabled表示cookie是否启用javaEnabled表示java是否启用languag…

jasypt加密_「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?

1 简介今天我们介绍一个Java库-Jasypt&#xff0c;全称为Java Simplified Encryption&#xff0c;用于加密解密。它能够让开发者用花费最小的工作而把加密集成到项目中&#xff0c;并且不需要对加密/解密有深入的了解。通过Maven引用jar包如下&#xff1a;org.jasypt jasypt 1.…

关系数据标准语言SQL之数据查询

数据查询是数据库的核心操作。SQL提供了SELECT语句进行数据查询&#xff0c;该语句具有灵活的使用方式和丰富的功能。 其一般格式为 select [all | distinct]<目标表达式>[,<目标表达式>]… from<表名或视图名>[,<表名或视图名>] | (select语句)(as)&l…

点到反比例函数最短距离怎么求_[中考数学]用函数的思想武装头脑!

数学中考中&#xff0c;用函数的思想去分析解决实际问题&#xff0c;是中考生最感头疼的一件事情。究其原因&#xff0c;在于学生头脑中缺乏一定的函数思维&#xff0c;往往不能把实际问题转化为函数模式&#xff0c;也不能用常见的函数去解决一些实际问题。初中数学中&#xf…

Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】

转自&#xff1a;http://blog.csdn.net/yikai2009/article/details/8653697 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 目录(?)[-] 阻塞阻塞操作非阻塞操作阻塞方式-read- 实现阻塞方式-write- 实现非阻塞方式的读写操作实例 --- 读阻塞的实…

【正则表达式】使用多行的正则表达式匹配多行的网页数据

2019独角兽企业重金招聘Python工程师标准>>> 对于正则表达式的语法&#xff0c;这里不做详解。只是提一下学习正则表达式时&#xff0c;只需要了解元字符表示的意义、编译函数和编译标志、re模块包含的顶级方法和matchobject的实例方法即可。 目标&#xff1a; 从指…

自动生成气泡对话框的jQuery插件CreateBubble.js

之前在写一个界面&#xff0c;想要用到气泡&#xff0c;然而一直找不到现成的有效地办法&#xff0c;是在没有办法了我只好自己写一个&#xff0c;于是就有了现在的CreateBubble.js。很简单的一个函数&#xff0c;但是非常实用。 使用方法&#xff1a; 1.HTML代码&#xff1a; …

linux 安全应用 1

Linux安全应用 &#xff08;用户 文件 sshd sudo&#xff09;selinux 数据加密 数据解密 https什么是安全&#xff1f;保护谁的安全&#xff1f; 服务器的安全怎么保护&#xff1f;物理安全&#xff08;规则制度&#xff09;本地安全 &#xff08;用户 文件&…