我有一个做片段交易的activity
DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transaction.addToBackStack(null);
transaction.commit();
很管用。现在,我知道在我的activity中有一个动态字符串,我需要在NewFragment中的布局中替换。我想我可以在transaction.commit()之后调用类似于
newFragment.setMyString("my dynamic value");
在newFragment.java中
public void setMyString(String s)
{
TextView tv = (TextView) getActivity().findViewById(R.id.myobject);
tv.setText(s);
}
关键是getActivity()返回null。如何获得查找布局元素所需的上下文?
编辑:
我试图遵循使用捆绑的路线,因为这似乎是最干净的方式。所以我更改了代码:
Bundle b = new Bundle();
b.putString("text", "my dynamic Text");
DetailFragment newFragment = new DetailFragment();
transaction.replace(R.id.mylist, newFragment);
transacthtml" target="_blank">ion.addToBackStack(null);
transaction.commit();
我的onCreateView片段如下所示:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.mylayout, container, false);
TextView t = (TextView) v.findViewById(R.id.texttobereplaced);
t.setText(savedInstanceState.getString("text");
}
savedInstranceState似乎是空的。我应该在哪里找到我的包裹?
编辑2:
答复中缺少getArguments()。现在起作用了。
您的片段
还没有附加到activity
中,这也意味着您的布局还没有膨胀(请参阅片段生命周期)。这里的最佳解决方案是通过fragment.setarguments(Bundle)
方法将string
值作为参数添加到fragment
中。这可以通过fragment.getArguments()
方法在接收fragment
中检索。
我正在创建一个带有操作栏的应用程序,这些选项卡会转到不同的网页。当用户点击一个不同的选项卡时,我希望以前的选项卡网页保持在相同的状态(即当再次按下该选项卡时不重新加载)。 做这件事最好的方法是什么?单独的活动?碎片?一个activity有多个网页视图? 谢谢
我有三个片段F1 F2 F3 F4都可以从侧边栏访问。 这四个都可以在任何时间以任何顺序调用, 现在我想知道,如果已经单击(创建)了F1,则不再创建F1,而只使用片段管理器将片段F1带回到前面。所有其他片段相同 到目前为止,我对容器中的每个片段都尝试了这种方法(片段活动) 如果部分确保不再重新创建片段(如果已经创建),那么我应该在部分中写些什么,以便可以将已经创建的片段放在视图层次结构的前面 请帮
自我介绍:我有稍微学一下安卓的就先问安卓 activity的生命周期 view的加载过程 ondraw有什么注意事项吗(没答上来) linearlayout和relativelayout哪个加载会更费时间 然后问java hashmap是线程安全的吗,会有什么问题 concurrenthashmap怎么保证线程安全 了解jvm吗(还没看,不会) 然后写一题简单的遍历列表,没写完时间到了就停了,让我
一面主要是八股,总共35min左右 1. 自我介绍 2. 用过得物app吗 3. 介绍一下七层模型,每一层的作用 4. 生产者消费者模型,应用(线程池) 5. 用过线程池吗,线程池如何实现 6. 进程间通信方式 7. http请求的过程 8. 什么是多态,应用场景 9. 了解过设计模式吗?单例模式,应用场景 10. epoll的优势 11. 手撕简单题 12. 项目中遇到什么困难,应用场景 13.
1.自我介绍 2.问自我介绍中提到的安卓项目; 3.activity的生命周期,各个阶段的方法名叫什么; 4.安卓的那些场景会导致内存泄漏; 5.c++的垃圾回收机制(自己不懂安卓的内存泄漏,然后答了c++的内存泄漏,所以面试官问了c++); 6.tcp的三次握手和四次挥手; 7.为什么tcp客户端的time-wait状态必须等待2MSL; 8.http1.1与http2.0之间的区别; 9.线程
所以我决定在放弃一段时间后再回到android开发。我在android studio中重新开始制作一个旧项目,我遇到了一个问题,我得到了“无法解析符号碎片容器”,我确信它上次是有效的。