EditText etHomePhone = (EditText)findViewById(R.id.et_pi_home_phone);
EditText etMobilePhone = (EditText)findViewById(R.id.et_pi_home_phone);
etHomePhone.setOnClickListener(showPopUpClickListener);
etMobilePhone.setOnClickListener(showPopUpClickListener);
private View.OnClickListener showPopUpClickListener = new View.OnClickListener() {
public void onClick(View v) {
/* I like to get both EditText.getText().toString() value in this one ClickListener
is it Possible, there is something in ActionScript call event.currentTarget...
*/
}
};
答えて
etHomePhone変数とetMobilePhone変数をfinalとして宣言し、同じメソッドでOnClickListenerインラインを定義すると、それらの変数を直接参照できます。そのような:
final EditText etHomePhone = (EditText)findViewById(R.id.et_pi_home_phone);
final EditText etMobilePhone = (EditText)findViewById(R.id.et_pi_home_phone);
View.OnClickListener showPopUpClickListener = new View.OnClickListener() {
public void onClick(View v) {
String home = etHomePhone.getText().toString();
String mobile = etMobilePhone.getText().toString();
// Do something with home and mobile
}
};
etHomePhone.setOnClickListener(showPopUpClickListener);
etMobilePhone.setOnClickListener(showPopUpClickListener);
EDIT:あなただけの代わりに、それらの両方をクリックしたのEditTextのテキストを取得したい場合、あなたはそれがのonClickを介して配信することをビューをキャストすることができ
(ビューV):
public void onClick(View v) {
EditText editText = (EditText)v;
String phoneNumber = editText.getText().toString();
// Do something with phoneNumber
}
これは抜粋ですので、私はコンテキストを見ることはできませんが、あなたの活動のすべてのイベントをキャッチするために、単一のOnClickListenerを構築することができます。まず、あなたの活動は、OnClickListenerインターフェースを実装する必要があります。
public class YourActivity extends Activity implements OnClickListener {...
のOnCreate()メソッドでは、このようなクリックに応答する必要があり、各UI要素登録:
yourObject.setOnClickListener(this);
次へ]を、活動のためにonClick()メソッドは、このようR.idを使用してスイッチ構造を作成します。
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.A_UI_Element:
//do what you need for this element
break:
case R.id.A_Different_UI_Element:
//do what you need for this element
break;
//continue with cases for each element you want to be clickable
}
}
は、各ケースの終わりに休憩を忘れないでください。
あなたのコードで気づいたことは、両方のeditText宣言が同じリソースを参照していることです。これは2つの異なる要素ではなく、同じUI要素に対して2つのハンドルを与えます。
お返事ありがとう、はい私のeditTextは、ミスタイプであって実際にはそうでないものと同じリソースを参照しています。 – Demones
- 1. プレイフレームワークの完全なターゲット/現在のURL?
- 2. ClickListenerとListViewアイテムレイアウト
- 3. Android-Listview ClickListener
- 4. ListFragmentのClickListenerとLongClickListener
- 5. Xcodeヘルプ - iPad用の現在のターゲットをアップグレードする
- 6. エフェクトの実行中に現在のターゲット値を取得
- 7. iOS:現在のターゲットに応じた条件コード
- 8. 現在のターゲットをMakefileに記録する
- 9. php getcwd()現在のディレクトリの代わりにsymlinkのターゲットを解決する
- 10. 現在のターゲット接続を使用した動的SQL文の戻り値
- 11. Jiraのクイックフィルタは、現在のユーザー現在
- 12. はスプライトと交差して現在のターゲットを取得します
- 13. 現在のクライアント
- 14. 現在のソート
- 15. 現在のURL
- 16. 現在のビュー
- 17. ...現在の週
- 18. 現在のモノラルデフォルトガベージコレクタ
- 19. ClickListenerでviewById()を見つける
- 20. jQueryの現在の
- 21. iOS:現在のTableViewCellの現在のコントロールを指す方法
- 22. 現在のバインディング値
- 23. 現在のRailsユーザ
- 24. リファレンス現在の行
- 25. 現在のページインジケータMVVM
- 26. Django現在のロケーションバー
- 27. UIPageViewController現在のビューコントローラ
- 28. WPFスタイルベースの現在
- 29. javascript、現在のhtml
- 30. ベスト現在のレールバックグラウンドタスクメソッド?
申し訳ありませんが、私はあなたが私が欲しいものを理解していないと思う、私は何かをしたい....文字列の家庭やモバイル=今このリスナーを呼び出すEditTextの値。 – Demones
明確にするために、私はあなたが同時に両方のメソッドをメソッド内に入れたいと思っていました。クリックされたテキストのみのテキストを取得しますか?もしそうなら、上記の私の記事を解決しました。 –
thats私が欲しかったことは、ありがとう:) – Demones