点击textview打开新的activity
(1) MainActivity.java
package com.example.android_textview_opennewactivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.method.MovementMethod;
import android.text.style.ClickableSpan;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private TextView textview1;
private TextView textview2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview1 = (TextView) this.findViewById(R.id.textview01);
textview2 = (TextView) this.findViewById(R.id.textview02);
String text1,text2;
text1 = "打开activity1";
text2 = "打开activity2";
//拆分字符串
SpannableString spannablestring1 = new SpannableString(text1);
SpannableString spannablestring2 = new SpannableString(text2);
spannablestring1.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
//点击后打开新的意图
Intent intent = new Intent(MainActivity.this, Activity1.class);
startActivity(intent);
}
}, 0, text1.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
textview1.setText(spannablestring1);
spannablestring2.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, Activity2.class);
startActivity(intent);
}
}, 0, text2.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
textview2.setText(spannablestring2);
//设置textview点击事件
textview1.setMovementMethod(LinkMovementMethod.getInstance());
textview2.setMovementMethod(LinkMovementMethod.getInstance());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
(2)activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" /> <TextView android:id="@+id/textview02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginTop="50dp" /> </RelativeLayout>
(3)Activity1.java
package com.example.android_textview_opennewactivity;
import android.app.Activity;
import android.os.Bundle;
public class Activity1 extends Activity {
public Activity1() {
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setTitle("Activity1");
}
}
(4)Activity2.java
package com.example.android_textview_opennewactivity;
import android.app.Activity;
import android.os.Bundle;
public class Activity2 extends Activity {
public Activity2() {
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setTitle("Activity2");
}
}
(5)AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android_textview_opennewactivity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.android_textview_opennewactivity.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Activity1" > </activity> <activity android:name=".Activity2" > </activity> </application> </manifest>
转载于:https://blog.51cto.com/6846041/1416782