-2

私のコードでは、ボタンをクリックしたときにToastnull 値が表示されず、文字列値が表示されません。edittextこのコードの問題点を教えてください。

String Serachvalue;
EditText  editText2;
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
editText2 = (EditText) findViewById(R.id.editText2);
Serachvalue=editText2.getText().toString();
imageView1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {

      Toast.makeText(HomeMenu.this, Serachvalue, Toast.LENGTH_SHORT).show();

            }
    });

XML

 <EditText
 android:id="@+id/editText2"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_marginLeft="10dp"
 android:paddingTop="20dp"
 android:layout_toLeftOf="@+id/imageView1"
 android:hint="  Search School By Name" >
 </EditText>
4

3 に答える 3

0

onclicklistener に searchValue を割り当てます。 oncreate() に ur 検索値を割り当てていると思います。その時点で、アクティビティが作成されると、編集テキストには null 値が含まれます。

于 2013-09-09T10:30:41.767 に答える
0

トーストにテキストを表示する前に長さを確認してください

最初に文字列を次のように初期化します

String Serachvalue = "Please type something !";

次に、長さを確認して再初期化します。

if(editText2.getText().toString().length()!=0)
        Serachvalue=editText2.getText().toString();
于 2013-09-09T10:38:56.017 に答える
0

onclick リスナー内の単一行の下に移動します。

Serachvalue=editText2.getText().toString();

以下のように@

imageView1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
      Serachvalue=editText2.getText().toString();
      Toast.makeText(HomeMenu.this, Serachvalue, Toast.LENGTH_SHORT).show();

            }
    });
于 2013-09-09T10:28:35.770 に答える