更改TextView的值

时间:2012-05-04 12:44:31

标签: android textview

我正在创建一个应用程序,它在每个活动的顶部都有标题,到目前为止我一直在这样做:

为每个页面创建一个header.xml。但我认为必须有一种更有效的方式 我可以使用常量h​​eader.xml,然后更改onCreate方法中文本的​​值。

这是我到目前为止所做的事情:

chooseActivity,

使用布局chooseact.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/white">

   <include layout="@layout/selectheader" />
   <include layout="@layout/redcell" />

   <ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   />


</TableLayout>

里面有一个header.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >



    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:src="@drawable/headerrect" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:text="@string/leagues"
        android:textColor="@color/white"
        android:textSize="25dp"
        android:textStyle="bold"/>


</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

为header.xml中的T​​extView提供一个id,就像对ImageView一样。然后在每个Activity的onCreate()方法中,您可以设置文本。

TextView headerText = (TextView) findById(R.id.header_text);
headerText.setText("The text that should show up");

带有TextView的header.xml使用id属性:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >



    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:src="@drawable/headerrect" />

    <TextView
        android:id="@+id/header_text"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:text="@string/leagues"
        android:textColor="@color/white"
        android:textSize="25dp"
        android:textStyle="bold"/>

</RelativeLayout>

答案 1 :(得分:0)

This answer可以是另一种使用方法。你不需要在所有xml中添加标题。并且不需要在每个活动中制作标题textview。