EditText不读取Android中的输入

时间:2012-11-07 12:21:48

标签: android android-edittext

EditText中的问题是,它没有返回输入值。我正在使用该输入值来检查条件。

我正在给出正确的输入,以便我检查if条件并转到下一个活动但是 它总是走向其他条件。

请检查下面的代码,我已经评论了这个问题。

这是片段

public class BuildWord extends Activity
{
String word = "word";
String finished = "Word Built";

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.buildword);

    EditText get = (EditText)findViewById(R.id.dataToSend);
    String getdata = get.getText().toString(); //Here i am getting Data from EditText

    displayIntentData();

    if (getdata.equals("word")) 

    //Here i am checking with "word" but it goes to else condition.I am typing "word" only
    {
        findViewById(R.id.sendButton1).setOnClickListener(new OnClickListener() 
        {   
            public void onClick(View v) 
            {
                Intent intent = new Intent(BuildWord.this,MainActivity.class);
                intent.putExtra("key", word);
                startActivity(intent);

            }
        });
    }
    else
    {
        findViewById(R.id.sendButton1).setOnClickListener(new OnClickListener() 
        {   
            public void onClick(View v) 
            {
                Intent intent = new Intent(BuildWord.this,DropCard.class);
                intent.putExtra("key", finished);
                startActivity(intent);                  
            }
        });
    }
}

@Override
protected void onNewIntent(Intent intent) 
{
    super.onNewIntent(intent);
    setIntent(intent);
    displayIntentData();
}

private void displayIntentData()
{
    Intent intent = getIntent();
    TextView tv = (TextView)findViewById(R.id.intentData1);
    Bundle extras=intent.getExtras();

    if(extras!=null)
    {
        tv.setText("Data received: "+extras.getString("key"));
    }
    else
    {
        tv.setText("No extradata received");
    }
}

}

4 个答案:

答案 0 :(得分:0)

在给视图充气后,您将立即在EditText字段中获取值(" get")。你还没有时间输入任何文本,所以它是空的。然后检查" getData"包含"字" (它没有!)因此你正在进入ELSE。

答案 1 :(得分:0)

我们将在任何点击事件发生时获取文本....

String getdata = get.getText().toString(); //Here i am getting Data from EditText

上面的代码总是返回空字符串...

尝试将代码放入点击事件和处理中,以便您可以获取字符串并轻松比较

答案 2 :(得分:0)

在displayIntentData()之后; declare String getdata = get.getText()。toString();

答案 3 :(得分:0)

您正在创建视图后立即获取输入数据。 而是尝试在点击监听器中获取输入数据