您的位置:首页 > 产品设计 > UI/UE

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

2013-02-16 23:37 585 查看
在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);
	}
	
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: