文档章节

Android之UI学习篇三:TextVeiw单击文字链接弹出Activity

yolinfeng
 yolinfeng
发布于 2015/02/16 00:08
字数 323
阅读 12
收藏 0

在TextView中还可以实现单击文字,来跳转到设定的Activity中去,是不是很神奇呀,

先看看实现的效果:

MainActivity界面截图:


单击"显示Activity1"之后,弹出Activity1的窗口,截图如下:


同样,单击"显示Activity2"弹出界面截图:


实现代码如下:

由于main.xml文件比较简单,这里就不给出源代码了哦,

MainActivity.java

public class Android_TextviewActivity extends Activity {  
    private TextView textView1;  
    private TextView textView2;  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        /*  
         * TextView中实现Activity的跳转  
         * */  
        textView1=(TextView)findViewById(R.id.textview1);  
        textView2=(TextView)findViewById(R.id.textview2);  
        String text1="显示Activity1";  
        String text2="显示Activity2";  
        SpannableString spannableString1=new SpannableString(text1);  
          
        spannableString1.setSpan(new ClickableSpan() {  
            @Override  
            public void onClick(View view) {  
                Intent intent=new Intent(Android_TextviewActivity.this,Activity1.class);  
                startActivity(intent);  
                  
            }  
        }, 0, text1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
          
        SpannableString spannableString2=new SpannableString(text2);  
        spannableString2.setSpan(new ClickableSpan() {  
            @Override  
            public void onClick(View view) {  
                Intent intent=new Intent(Android_TextviewActivity.this,Activity2.class);  
                startActivity(intent);  
                  
            }  
        }, 0, text2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
          
        textView1.setText(spannableString1);  
        textView1.setMovementMethod(LinkMovementMethod.getInstance());  
        textView2.setText(spannableString2);  
        textView2.setMovementMethod(LinkMovementMethod.getInstance());  
    }  
      
}

Activity1.java

package com.android.mytextview;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class Activity1 extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setTitle("Activity1");  
        TextView textView = new TextView(Activity1.this);  
        textView.setText("这里是Activity1的地盘");  
        setContentView(textView);  
    }  
      
}

Activity2.java

package com.android.mytextview;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.widget.TextView;  
  
public class Activity2 extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setTitle("Activity2");  
        TextView textView = new TextView(Activity2.this);  
        textView.setText("这里是Activity2的地盘");  
        setContentView(textView);  
    }  
      
}

 

本文转载自:http://blog.csdn.net/wulianghuan/article/details/8583907

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
私信 提问
04_Android框架及关键组件实验【图解】

作者:孔祥辉 一、实验内容 任务(1) – 设计一个应用程序 – 视图中包含一个按钮 – 当单击按钮后 • 弹出一个提示框 • 将按钮的背景颜色变为蓝色 • 按钮中的文字变为红色。 任务(2) ...

晨曦之光
2012/03/14
208
0
android开发-01-搭建环境

一、下载开发工具: 首先是在 http://developer.android.com/ 下载adt 开发工具 ,因为我的是32位的操作系统,我下载的是 adt-bundle-windows-x86-20140702 ,下载时请根据具体的操作系统下载...

jxlgzwh
2014/12/05
0
0
android自学笔记《五》——模拟器的使用

一、中文界面设置 1. 单击模拟器屏幕底部的菜单按钮 2.在弹出的主功能表中找到Settings这项进入设置对话框 3.选择Language & keyboard 这项,这样我们就可以设置区域和文字了。 4.这时选择第...

郭子
2012/02/06
0
4
Tasks and Back Stack 原理

一、参考文章 原文地址:Tasks and Back Stack 二、术语解释 1.task:一系列activity的集合,这些activity就可以看成是一个任务。 2.back stack:一系列activity的存储结构,因其遵循后进先出...

鉴客
2011/10/21
324
1
Android学习笔记(一) 开发环境的搭建

在搭建Android开发环境之前,你需要准备如下几个文件: 其中android-sdks可以到官网(http://developer.android.com/index.html)下载。 2. 安装JDK运行环境 这个是Java环境所必须的,也很简...

半夏alvin
2014/02/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
27分钟前
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
0
0
Win10 下安装Win7双系统

很多人买了预装64位Win8/8.1的电脑后想重装(或者再安装一个)Win7系统,但是折腾半天发现以前的方法根本不奏效。这是因为预装Win8/8.1的电脑统一采用了UEFI+GPT引导模式,传统的BIOS(Legacy...

yaly
昨天
2
0

中国龙-扬科
昨天
2
0
假若明天来临——《AI.未来》读后感3900字

假若明天来临——《AI.未来》读后感3900字: 你有没有想过,如果有一天你被确诊为癌症患者,你会做些什么?你有没有想过,在你百年之后,你希望你的墓碑上刻写着什么内容? 在我翻开李开复老...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部