如题,在android应用中,在一个TextView里面,对其中一部分文字建立相应,当点击这几个字时,跳转到另一个activity,要怎么实现啊??
如不明白问题,可以看一下android新浪微博里面,像“@某某某”这种就是蓝色文字部分,就是上面我说的这种情况,点击“@某某某”时,进入这个某某某人的资料界面。
请问,这一功能都涉及到哪些东东啊?从textview中的加链接(或动作什么的,反正能相应的东东),到发送请求到服务器,再到服务器传回数据,到新的activity接收数据,这一系列动作都涉及到哪些类啊?有没有具体的代码例子?
谢谢各位大大们啊!
如不明白问题,可以看一下android新浪微博里面,像“@某某某”这种就是蓝色文字部分,就是上面我说的这种情况,点击“@某某某”时,进入这个某某某人的资料界面。
请问,这一功能都涉及到哪些东东啊?从textview中的加链接(或动作什么的,反正能相应的东东),到发送请求到服务器,再到服务器传回数据,到新的activity接收数据,这一系列动作都涉及到哪些类啊?有没有具体的代码例子?
谢谢各位大大们啊!
//创建一个 SpannableString对象
SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
//设置超链接
sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式一
sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//SpannableString对象设置给TextView
myTextView.setText(sp);
//设置TextView可点击
myTextView.setMovementMethod(LinkMovementMethod.getInstance()); 试试吧 楼主!
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;public class ClickableText extends Activity {
/** Called when the activity is first created. */
private TextView mClickableText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
mClickableText = new TextView(this);
mClickableText.setClickable(true);
mClickableText.setTextSize(20); layout.addView(mClickableText);
setContentView(layout);
mClickableText.setText(getClickableSpan());
mClickableText.setMovementMethod(LinkMovementMethod.getInstance());
} private SpannableString getClickableSpan()
{
View.OnClickListener l = new View.OnClickListener(){
@Override
public void onClick(View v)
{
Toast.makeText(ClickableText.this, "Click Success", Toast.LENGTH_SHORT).show();
}
}; SpannableString spanableInfo = new SpannableString("This is a test, Click Me");
int start = 16;
int end = spanableInfo.length();
spanableInfo.setSpan(new Clickable(l), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return spanableInfo;
}
}class Clickable extends ClickableSpan implements OnClickListener{
private final View.OnClickListener mListener; public Clickable(View.OnClickListener l){
mListener = l;
} @Override
public void onClick(View v){
mListener.onClick(v);
}
}
写的一个example,楼主试试
android:clickable="true" 在代码里写一个名为get的方法 方法里写你要做的连接服务器 和跳转就行
不要使用Clickablespan因为得不到子串。直接使用URLspan,在setspan的时候,把你要区分的string传进去,然后在点击的时候,使用getUrl就会得到不同的字串,从而区别开来了。
感谢呀!![email protected]