我正在构建一个Android应用程序,它有许多我想要点击的TextView.我试图分配的属性android:clickable="true"和android:onClick="clickHandler"对单TextView,当应用程序触发了clickHandler(View v)我正确地获取单击项目通过v.getId().我不喜欢的是为每个TextView属性定义属性,android:clickable并且android:onClick......我可以通过代码来说明:"所有的文本视图都是可点击的,并且点击是在处理的clickHandler吗?"
谢谢.
xil*_*il3 20
你可以在下面做这样的事情 - 这样他们都有相同的处理程序:
public class sticks extends Activity implements View.OnTouchListener {
private TextView tv1;
private TextView tv2;
private TextView tv3;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
tv3 = (TextView) findViewById(R.id.tv3);
// bind listeners
tv1.setOnTouchListener(this);
tv2.setOnTouchListener(this);
tv3.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// check which textview it is and do what you need to do
// return true if you don't want it handled by any other touch/click events after this
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
Roo*_*ahi 14
我用过这个:
<TextView
android:id="@+id/txtTermsConditions"
android:layout_width="180dp"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:onClick="onTermConditions"
android:clickable="true"
android:focusable="true"
android:text="Terms and Conditions"
android:textColor="@color/blue" />
Run Code Online (Sandbox Code Playgroud)
嗨,您必须同时使用以下两个代码:
<TextView
android:id="@+id/reg_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_btn"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:clickable="true"
android:text="Are you now need to create an account?"
android:textColor="#ff0000ff"
android:textSize="15sp"
/>
Run Code Online (Sandbox Code Playgroud)
和
private TextView tv1;
tv1= (TextView)findViewById(R.id.reg_text);
tv1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
ProgressDialog progressBar = ProgressDialog.show(MainActivity.this, "Title",
"????? ?????!");
progressBar.setCancelable(true);
Intent i = new Intent(getApplicationContext(), Register.class);
startActivity(i);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54855 次 |
| 最近记录: |