1

手始めに、どんな助けでも大歓迎です!テンキーを作成しました。ボタンの1つを選択するたびに、数値をEditTextに渡す必要があります。別のボタンが押されるたびに、EditTextがsetTextによって上書きされるという問題が発生しています。私は本当に各値を連結する必要があり、これを行う方法がよくわかりません。1〜9個のボタンのいずれかを任意の順序で押すことができます。

ここにいくつかのコードがあります。これらのキーを最初に機能させようとしています。

    View hash = findViewById(R.id.keypad_hash);
    hash.setOnClickListener(this);
    View key1 = findViewById(R.id.keypad_1);
    key1.setOnClickListener(this);
    View key2 = findViewById(R.id.keypad_2);
    key2.setOnClickListener(this);

}




@Override
public void onClick(View v){
switch(v.getId()){
case R.id.keypad_hash:
    questions();
    break;

case R.id.keypad_1:

    final EditText number_edit_text1 = (EditText) this.findViewById(R.id.Edit);
      number_edit_text1.setText(String.valueOf("1"));




      break;


case R.id.keypad_2:

    final EditText number_edit_text2 = (EditText) this.findViewById(R.id.Edit);
      number_edit_text2.setText(String.valueOf("2"));
    break;

}   
}

次に、レイアウトのエディットテキスト

<EditText  
android:id="@+id/Edit"  
android:layout_height="wrap_content"    
android:inputType="number"  
android:layout_width="fill_parent"
android:numeric="integer">  
</EditText> 
4

1 に答える 1

1

試す:

number_edit_text2.append(String.valueOf("2"));

それが何らかの理由で機能しない場合:

number_edit_text2.setText(number_edit_text2.getText().toString()+String.valueOf("2"));

また、補足として、自分でプロセスを簡単にすることができます。

xmlで、次のことを行う必要があります。

android:tag="0"

そして、0を各ボタンに必要な数に置き換えます。

クラス本体で宣言する必要がありますEditText editText;。次に、で宣言するonCreate必要があります。editText = (EditText)findViewById(R.id.Edit);

次に、でonClick、次のようにします。

editText.append(String.valueOf(v.getTag()));

これにより、コードが簡素化され、管理しやすくなり、を繰り返し再作成する必要がなくなるため、使用するリソースがわずかに少なくなりますEditText

于 2012-02-22T00:46:35.883 に答える