更新Android TextView

时间:2011-03-29 18:42:05

标签: java android textview

我有一个简单的Android应用程序,我想在显示器上写一个字段的值,属于另一个类。

使用简单的文本视图我可以编写字段的初始值但我不知道如果字段更改值,如何更新显示屏上的文本。

顺便说一句,这是我的第一个Android应用程序,所以我仍然失去了

这是我的活动代码:

public class findIT extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    PositionHolder ph = new PositionHolder();
    TextView tv = new TextView(this);
    setContentView(tv);
    //this.updateText();
    tv.setText("You are at "  + ph.getPosition());
  }
}

3 个答案:

答案 0 :(得分:11)

您需要在xml布局中创建TextView,如下所示:

<TextView 
android:id="@id/textView01"
android:text="Enter your initial text "
android:layout_width="wrap content"
android:layout_height="wrap content"
></TextView>

然后在setContentView()函数之后在类中编写以下内容:

TextView textView = (TextView) findViewById(R.id.textView01);
textView.setText("Enter whatever you Like!");

答案 1 :(得分:3)

Chris ......这是开发应用程序的最基本方法。将问题分成三部分。演示文稿或视图。算法或模型。控制器响应用户和系统事件。这产生了“关注点分离”,使得Controller拥有视图和模型。您可以使用xml在main.xml中创建视图。你创建了一个单独的类来完成工作,比如MyModel.java,当然还有Controller或者Activity类说MyActivity.java。因此,来自模型的数据将转至更新视图的Controller。

所以你的问题是如何从模型中获取数据并更新视图。当然,这将发生在控制器,您的活动中。最简单的方法是在活动中放置一个按钮,当用户点击按钮时,调用model.getLatestData()并更新视图。这是拉取数据。下一步是让Controller每分钟检查一次更新。这是POLLING数据。下一个方法是让Controller注册对模型更改的兴趣,并等待模型发出更改信号,然后更新视图。这是从模型到控制器的数据的异步推送,可以使用OBSERVER模式完成。

我知道当你努力试图让代码工作时,这对你没有任何意义,但希望我已经在你的脑海里种下了一个想法的种子,这会让你感到困扰,并在将来的某个时候有意义。

JAL

答案 2 :(得分:0)

您需要在xml中定义布局,然后在创建TextView时,将其与layoutID相关联。类似的东西:

TextView tv = (TextView) findViewById(R.id.something);

如果您需要,我可以解释一下,但这会给您一个寻找更多答案的起点。