怎么在TextView中的部分文字上响应点击事件
如何在TextView中的部分文字上响应点击事件?
如何在TextView中的部分文字上响应点击事件?
比如我点击上面的TextView然后触发一个事件,知道我点的是TextView?
------解决方案--------------------
Textview可以添加点击吗,button可加点击,,TextView没听说啊。试下吧,添加个id号,重写onclick方法,,好像行不通呢,
------解决方案--------------------
view的onclicklistener
------解决方案--------------------
http://lpqsun-126-com.iteye.com/blog/1019654
看看这个 ,或许能解决楼主问题!!
------解决方案--------------------
android:autoLink="all"
------解决方案--------------------
package android.alex.clickabletext;
import android.app.Activity;
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);
}
}
------解决方案--------------------
自己做的,测试过了,楼主只需要自己改改
如何在TextView中的部分文字上响应点击事件?
比如我点击上面的TextView然后触发一个事件,知道我点的是TextView?
------解决方案--------------------
Textview可以添加点击吗,button可加点击,,TextView没听说啊。试下吧,添加个id号,重写onclick方法,,好像行不通呢,
------解决方案--------------------
view的onclicklistener
------解决方案--------------------
http://lpqsun-126-com.iteye.com/blog/1019654
看看这个 ,或许能解决楼主问题!!
------解决方案--------------------
android:autoLink="all"
------解决方案--------------------
package android.alex.clickabletext;
import android.app.Activity;
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);
}
}
------解决方案--------------------
自己做的,测试过了,楼主只需要自己改改