EditText
私のページには、2 つのボタンと一緒に多くの要素があります。ユーザーがいずれかのEditText
フィールドに触れて任意のボタンをクリックし、触れたまさにそのフィールドに特定の値を挿入するようにしますEditText
。キーパッドを使用した入力は許可されていません。これを行うのを手伝ってください。
質問する
101929 次
9 に答える
39
これは私にとってはうまくいきます。ブール値を返します。
myEditText.hasFocus()
于 2015-12-23T07:46:32.853 に答える
26
できることの 1 つは、グローバル変数を宣言することです。グローバル変数は、を使用してevalue
を通知し、 の値に基づいて、ボタン クリックでテキスト値を edittext に設定できます。あなたが理解した願っています。last selected EditText
onTouchListener
evalue
そのためのコードは次のようになります。
EditText e1,e2;
Button b1,b2;
String evalue;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
e1=(EditText)findViewById(R.id.editText1);
e2=(EditText)findViewById(R.id.editText2);
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
e1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
evalue="1";
return false;
}
});
e2.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
evalue="2";
return false;
}
});
b1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View arg0) {
if(evalue=="1")
{
e1.setText("yes");
}
if(evalue=="2")
{
e2.setText("yes");
}
}
});
b2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View arg0) {
if(evalue=="1")
{
e1.setText("No");
}
if(evalue=="2")
{
e2.setText("No");
}
}
});
}
その論理コーディング..マークまでではありません..より良いものを見つけた場合。それを使用します。ありがとうございました。
于 2013-06-27T12:11:31.420 に答える
8
&をFragment
実装してください:OnTouchListener
OnFocusChangeListener
public class AttributesFragment extends Fragment
implements OnTouchListener, OnFocusChangeListener {
次に、次を使用して実装します。
@Override
public boolean onTouch(View view, MotionEvent event) {
if (view instanceof EditText) {
view.setOnFocusChangeListener(this); // User touched edittext
}
return false;
}
@Override
public void onFocusChange(View v, boolean hasFocus) {
}
作成後にリスナーを設定することを忘れないでくださいEditText
editText.setOnTouchListener(this);
このように、EditText
ボックスがデフォルトでフォーカスされていても、ユーザーがフィールドを変更していない場合、onFocusChange
イベントは発生しません。
于 2013-12-18T23:47:28.097 に答える