我是新來的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