动态添加TextView和Button实例的适当方法

时间:2012-06-03 13:27:15

标签: android android-layout instance android-tablelayout

我正在为大学项目构建一个应用程序 - 它是一个随机单词/头脑风暴生成器。我有ActivitySQLiteDatabase检索随机字并将其放入TextViewTextView旁边是Button,其作为“暂停”Button(就像水果机一样)。像这样:

enter image description here

目前我正在动态添加/删除新的TextView / Button并将其添加到 TableLayout 中的一行,我真的想要使用新实例(抱歉,来自AS3背景)相同的TextView / Button (所以他们做同样的事情)。这就是我到目前为止所得到的:

enter image description here

我的问题是,这可能吗?或者对于这种性质的东西,最好的方法是什么。是TableLayout甚至是正确的用法吗?

如果它有助于你的建议:

  • 我希望能够在某个时刻保存/分享用户会话。
  • 可能会让用户选择调整他们可以添加的文本字段数量(目前我已将其限制为5)

编辑:此外,我认为我遇到的问题是,如果我添加一个新文本/按钮 - 设置它的最佳方式是什么,所以他们都这样做事情。使用XML我可以使用他们的ID,是否仍然可以'以编程方式'?

1 个答案:

答案 0 :(得分:0)

部分回答,将编辑以便稍后更全面地回答。

你可以使用像这样简单的东西保存你的状态(请注意,你不能保存与GUI相关的任何东西,所以如果你想在TextView中保存文本,你必须先将它作为一个字符串提取出来然后保存String,而不是View。编辑:使用此http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

 private SharedPreferences mPrefs;
 private int mCurViewMode;

 protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     SharedPreferences mPrefs = getSharedPreferences();
     mCurViewMode = mPrefs.getInt("view_mode", DAY_VIEW_MODE);
 }

 protected void onPause() {
     super.onPause();

     SharedPreferences.Editor ed = mPrefs.edit();
     ed.putInt("view_mode", mCurViewMode);
     ed.commit();
 }