当前位置: 代码迷 >> Android >> 台湾省天珑书局畅销榜排名第一:《Goolge Android SDK开发范例大全》中的一个实例解析
  详细解决方案

台湾省天珑书局畅销榜排名第一:《Goolge Android SDK开发范例大全》中的一个实例解析

热度:71   发布时间:2016-05-01 14:27:32.0
台湾天珑书局畅销榜排名第一:《Goolge Android SDK开发范例大全》中的一个实例解析


?

?更改与显示文字标签 TextView标签的使用

?范例说明

前一章写了HelloWorld之后,一直觉得没有写半行代码对不起自己,所以在本章人机界面一开始,则延续HelloWolrd的气势,进行与TextView文字标签的第一次接触。在此范例中,将会在Layout中创建TextView对象,并学会定义res/values/strings.xml里的字符串常数,最后通过TextViewsetText方法,在预加载程序之初,更改TextView文字。

运行结果

? <v:imagedata src="file:///C:\DOCUME~1\DAVIDL~1\LOCALS~1\Temp\msohtml1\01\clip_image004.png" o:title="3-1" /></v:shape>


范例程序

src/irdc.ex03_01/EX03_01.java

主程序示范以setText方法,输出String类型的字符串变量。

package irdc.ex03_01;

?

import android.app.Activity;

import android.os.Bundle;

?

/*必须引用widget.TextView才能在程序里声明TextView对象*/

import android.widget.TextView;

?

public class EX03_01 extends Activity

{

? /*必须引用widget.TextView才能在程序里声明TextView对象*/

? privateTextView mTextView01;

?

? /**Called when the activity is first created. */

?@Override

? publicvoid onCreate(Bundle savedInstanceState)

? {

??? super.onCreate(savedInstanceState);

???

??? /* 载入main.xml Layout,此时myTextView01:textstr_1 */

???setContentView(R.layout.main);

???

??? /* 使用findViewBtId函数,利用ID找到该TextView对象 */

??? mTextView01 = (TextView)findViewById(R.id.myTextView01);

???

??? Stringstr_2 = "欢迎来到AndroidTextView世界...";

??? mTextView01.setText(str_2);

? }

}

res/layout/main.xml

android:id命名TextViewIDmTextView01;在较旧的版本写法与1.0的不同,请特别留意。

<?xml version="1.0"encoding="utf-8"?>

<AbsoluteLayout

android:id="@+id/widget35"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="http://schemas.android.com/apk/res/android"

>?

<TextView

android:id="@+id/myTextView01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/str_1"

android:layout_x="61px"

android:layout_y="69px"

>?

</TextView>

</AbsoluteLayout>

扩展学习

TextView里的setText方法支持以下多态构造方法:

public final voidsetText(CharSequence text)

public final void setText(int resid)

public void setText(CharSequence text,TextView.BufferType type)

public final void setText(int resid,TextView.BufferType type)

public final void setText(char[] text, intstart, int len)

在此,以最后setText(char[]text, int start, int len) 为例,第一个参数为char数组作为输出依
据,第二个参数为从哪一个元素索引开始选取,第三个参数则为要取出多少个元素,请看以下的例子:

char char_1[] = new char[5];

char_1[0] = 'D';

char_1[1] = 'a';

char_1[2] = 'v';

char_1[3] = 'i';

char_1[4] = 'd';

mTextView01.setText(char_1,1,3);

如上述程序所示,输出的结果是“avi”,因为从第1个元素索引开始,共取3个元素;最后则要提醒你,TextView.setTextView不支持HTML TAG的输出,所以即便写成这样:

mTextView01.setText("<ahref=\"http://shop.teac.idv.tw/MyBlog/\">戴维的博客</a>");

实际输出时,也就是纯文本而已,并不会作HTMLTAG的转换。但若撇开HTMLTAG之外(如“<”开头的标记),在TextView里加上了android:autoLink="all",那么正文中若有网址(http://),是可以被显示的,以下这个范例就交给你自己实现看看。

<TextView?xmlns:android="http://schemas.android.com/apk/res/android"

?android:layout_width="fill_parent"

?android:layout_height="wrap_content"

? android:autoLink="all"

?android:text="请访问戴维的博客:http://shop.teac.idv.tw/MyBlog/"

/>

?

?

具体代码在附件。欢迎讨论。

?

1 楼 yza0088 2009-06-16  
不错的书,入门很好
2 楼 yuanliyin 2009-06-18  
偶买了...
在啃
  相关解决方案