Androidクリック可能なテキストビューが多数あるアプリを作成しています。単一のプロパティに_Android:clickable="true"
_および_Android:onClick="clickHandler"
_のプロパティを割り当てようとしましたTextView
とアプリがclickHandler(View v)
を起動すると、v.getId()
を使用してクリックされたアイテムを正しく取得します。TextView
、プロパティ_Android:clickable
_および_Android:onClick
_ ...コードで実行できることは、「テキストビューはすべてクリック可能で、クリックはclickHandler
で処理されますか?」
ありがとう。
あなたは以下のようなことをすることができます-このようにして、それらはすべて同じハンドラを持っています:
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;
}
}
私はこれを使いました:
<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" />
こんにちはあなたは以下のコードの両方を使用する必要があります:
<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"
/>
そして
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;
}
});
私はOnClickListenerの代わりにOnClickListenerを使用しています。これは それらの使用方法の説明 です。
以下のコードは私のために働きました:
strings.xmlに追加:
<string name="about_us"><font fgcolor="#039BE5">\"THIS IS SPARTA! more info at" <font fgcolor="#000000"><a href="https://google.com/">google.com</a></font>
</string>
textViewに追加:
Android:linksClickable="true"
アクティビティに追加:
about_us.movementMethod = LinkMovementMethod.getInstance()