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");
}
}
}
答案 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)
您正在创建视图后立即获取输入数据。 而是尝试在点击监听器中获取输入数据