我是新来的android。我想要一个EditText,以便它应该对所有活动都可见&如果我在任何活动中更改它的内容,它们应该反映在每个activity.Please给我解决方案... !!!如何为所有活动及其内容创建EditText公用程序?
1
A
回答
0
这可以通过使用片段完成,片段可以重复使用,并且可以附加到多个活动,当片段中有一个单独的xml和java文件时,在这些文件中对EditText进行更改时,将会进行更改在你的所有活动中,请制作一个片段并将其附加到所有活动中。
0
如果你想使用的所有活动,您可以创建一个静态变量
public class Utils {
public static String myString;
}
你开始另一项活动之前,你可以设置变量
Utils.myString = editText.getText().toString();
随后的onResume每个活动的,你可以得到的变量,并将其设置为EditText上
@Override
protected void onResume() {
super.onResume();
editText.post(new Runnable() {
@Override
public void run() {
if (editText!= null) {
editText.setText(Utils.myString);
}
}
});
}
但我建议你应该使用片段是这种情况。这很容易。
0
在不同的活动中重复使用相同的片段。 这里的假设是您希望编辑文本显示在活动1和2中。 Activity1将在Activity2之前调用。 两个活性1和活性2的布局具有ID 保持器的的FrameLayout
活性1
public class Activity1 extends Activity{
public static Fragment editTextFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_group);
...
editTextFragment = new EditTextFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.holder, editTextFragment);
ft.commit()
}
}
活性2
public class Activity2 extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_group);
...
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.holder, Activity1.editTextFragment);
ft.commit()
}
}
EditTextFragment.java
public class EditTextFragment extends Fragment {
public testFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_edittext, container, false);
}
}
布局/ fragment_edittext.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.editTextFragment">
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
相关问题
- 1. 如何在Facebook中创建活动的所有内容
- 2. 从EditText及其内容创建位图图像
- 3. 如何列出应用程序公开的所有活动?
- 4. 末JavaScript函数及其所有内容
- 5. 缩放视图及其所有内容
- 6. 如何为java.awt.Frame及其所有组件创建键绑定?
- 7. 如何使用Adobe目标创建内嵌块活动内容
- 8. 如何创建抽象活动类并将其扩展到所有活动?
- 9. 移动DIV及其内容
- 10. 如何处理所有的jframes及其内容?
- 11. 如何逃脱“<" ">”以及其间的所有内容?
- 12. 如何配置apache nutch删除所有标签及其内容?
- 13. 在wpf中创建一个StackPanel及其内容“可拖动”?
- 14. 如何创建活动作为此应用程序
- 15. 如何为所有活动
- 16. 如何链接容器及其内容?
- 17. 如何在一个动态活动中创建内容
- 18. 为其他程序包活动创建shorcut的最佳方法
- 19. 杀死一个已创建的子进程及其创建的所有进程
- 20. TabHost删除所有内容活动
- 21. 保存活动的所有内容
- 22. 如何使用IBM OpenSocial为其他用户创建活动
- 23. 使用通用布局及其所有活动
- 24. 如何理解关于简单程序创建的所有内容?
- 25. 如何使所选标题及其内容处于活动状态,而其他内容处于非活动状态?
- 26. 如何为所有解决方案创建Android应用程序?
- 27. 如何为所有unix版本创建qt应用程序?
- 28. 如何在Redshift中列出所有表格及其创建者(或所有者)
- 29. TextView及其内容
- 30. 创建一个活动应用程序
使用片段,并在活动中让 – Sanoop
你使用任何按钮,保存在EDITTEXT所键入的文本的'EditText'静态? –
请勿使视图静止!你冒着内存泄漏的风险。创建一个共享首选项并在其中存储编辑文本的值。然后在每一个活动中,将任何片段都读取并写入该首选项。 – GPuschka