为什么我的Toast在从edittext字段获取文本时显示为null

时间:2013-09-09 10:21:21

标签: android

在我的代码Toast中,当我单击按钮时,显示空值不显示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>

3 个答案:

答案 0 :(得分:0)

在onclick listner中移动单行以下。

  

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();

            }
    });

答案 1 :(得分:0)

在onclicklistener中分配你的searchValue。我猜你在oncreate()中指定你的搜索值,那时你的edittext在创建活动时会有空值。

答案 2 :(得分:0)

检查长度,然后在Toast中显示文字

首先将字符串初始化为

String Serachvalue = "Please type something !";

然后检查长度并重新初始化。

if(editText2.getText().toString().length()!=0)
        Serachvalue=editText2.getText().toString();