我对Android很新,我有些疑惑。
我有TextView
:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Go Back" />
为什么我将文字Go Back
看作可点击的文字?我问的是外观和感觉。 TextView
应显示为Button
呈现的可点击方式。
提前致谢。
答案 0 :(得分:2)
制作TextView
clickable
只需将其添加到TextView
:
android:clickable="true"
之后,您可以使用以下方法设置onClickListener
:
yourTextView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do your work here
}
});
答案 1 :(得分:2)
在名为“mybutton.xml”的可绘制文件夹中创建一个xml文件并写下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:dither="true">
<item
android:state_pressed="true"
android:drawable="@drawable/mybutton2"/>
<item
android:drawable="@drawable/mybutton1"/>
</selector>
然后在你的drawables文件夹中添加两个png ... mybutton1.png,mybutton2.png。 所以你的按钮有两种不同的状态。
现在将背景设置为textview:
android:background="@drawable/mybutton"
然后,在您的代码中,您必须设置clicklistener:
findViewById(R.id.mytextview).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//your code goes here
}
});
这就是全部......你也可以使用形状代替图像。
答案 2 :(得分:1)
试试这个:
final TextView view = (TextView) findViewById(R.id.textview1);
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// request your webservice here. Possible use of AsyncTask and ProgressDialog
// show the result here - dialog or Toast
}
};);
答案 3 :(得分:1)
您也可以使用Touchlistener:
textview.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return false;
}
});
答案 4 :(得分:1)
就这样做
yourTextView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// do your work here
}
});
答案 5 :(得分:1)
你甚至不需要听众:
<TextView
android:id="@+id/needCheeseburger"
android:clickable="true"
android:onClick="getCheeseburger" />
然后只是:
public void getCheeseburger(View view) {
Intent intent = new Intent(this, giveMeCheeseburger.class);
startActivity(intent);
}
这对我来说非常好。
答案 6 :(得分:0)
像这样使用android:clickable="true"
的TextView
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:text="Large Text" />
text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
答案 7 :(得分:0)
希望充分利用你: -
boolean text_click =false;
TextView textview = (TextView) findViewById(R.id.textview1);
public OnClickListener textOnClick = new OnClickListener() {
@Override
public void onClick(View v) {
if (Constants.text_click) {
textview.setBackgroundResource(R.drawable.textbox);
text_click = false;
} else {
textview.setBackgroundResource(R.drawable.textboxonpress);
text_click = true;
}
}
};