0

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

我给出了正确的输入,以便我检查 if 条件并进入下一个活动,但它总是进入 else 条件。

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

这是片段

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

4 回答 4

0

膨胀视图后,您将立即在 EditText 字段(“get”)中获取值。您还没有时间输入任何文本,所以它是空的。然后您检查“getData”是否包含“word”(它没有!)因此您正在点击 ELSE。

于 2012-11-07T12:30:05.290 回答
0

当任何点击事件发生时,我们都会得到文本....

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

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

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

于 2012-11-07T12:30:19.180 回答
0

displayIntentData() 之后;声明 String getdata = get.getText().toString();

于 2012-11-07T12:35:18.963 回答
0

创建视图后,您将立即获取输入数据。而是尝试在单击侦听器中获取输入数据

于 2016-11-04T14:36:47.403 回答