文档章节

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
珠海
架构师
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
【Android】TextView的文字长度测量及各种padding解析

这篇博客会讲得比较杂: TextView里各种padding的含义? 如何计算每行文字的长度? 设置android:maxLines="1"和android:singleLine="true"有什么区别? 为什么设置android:maxLines="1"时TextV...

猴亮屏
08/15
0
0
Android学习笔记(一) 开发环境的搭建

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

半夏alvin
2014/02/27
0
0
ubuntu 14.04 64 bit 安装 appium

由于appium 的运行权限问题,不能在sudo 下面运行,导致用apt-get 安装很不顺利,所以不得不另想办法,然后通过Google 找到解决方案。 一. Ubuntu 14.04 64bit的安装。 这个很简单,不用多说...

xxjbs001
2015/03/13
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Kali Linux Docker 練習

docker pull kalilinux/kali-linux-docker docker run -t -i kalilinux/kali-linux-docker /bin/bash apt-get update apt-get install htop apt-get install nmap apt-get install wpscan ap......

BaiyuanLab
25分钟前
0
0
通俗大白话来理解TCP协议的三次握手和四次分手

最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就...

onedotdot
31分钟前
1
0
TiDB 在爱奇艺的应用及实践

爱奇艺,中国高品质视频娱乐服务提供者,2010 年 4 月 22 日正式上线,推崇品质、青春、时尚的品牌内涵如今已深入人心,网罗了全球广大的年轻用户群体,积极推动产品、技术、内容、营销等全方...

TiDB
35分钟前
0
0
Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
3
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部