我是 Java 的初学者,我想验证一个 EditText。我的想法是:我的 editText 必须匹配“helloworld”。当您按下按钮时,必须对其进行验证。如果这是真的--> 去一个新的类,我有一个 setContentView 来显示一个新的布局。如果我刚刚输入的文本与“helloworld”不匹配,它应该什么都不做。这似乎很容易,但由于我是初学者,你会帮我很大的忙!
问问题
451 次
3 回答
0
这是处理的大部分逻辑。您将需要填写您的实际布局 ID 并制定您的启动意图。将此代码放在包含编辑文本框的布局的活动中的 onCreate 方法中
EditText editText = (EditText)findViewById(R.id.editTextBox);
Button btn = (Button)findViewById(R.id.checkBtn);
btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(editText.getText().toString().equalsIgnoreCase("helloworld")){
//Launch activity with new view
}
}
});
于 2013-11-13T21:18:11.833 回答
0
在活动(或 android 类)中,您必须获取 EditText 的实例。您的编辑文本有一个 id,您可以使用 R 获取它。R 是您应用的资源。
EditText t = (EditText)findViewById(R.id.<Name of your textfield>);
然后您可以获取该文本字段的值并进行比较
t.getText().toString().equals("helloworld");
将返回真或假。如果您不关心字母的大小写,请使用
t.getText().toString().toLowerCase().equals("helloworld");
您的按钮需要一个 onClickListener,请查看 android api http://developer.android.com/reference/android/view/View.OnClickListener.html
在您的 onCreate 中,声明您的提交按钮时,添加一个侦听器
Button submit = (Button) findViewById(R.id.submit);
submit.setOnClickListener(submitListener);
创建一个新的 onClick 监听器并触发一个 Intent 来启动一个新的活动
View.OnClickListener submitListener = new View.OnClickListener() {
public void onClick(View v) {
//if string matches helloworld fire new activity
Intent newActivity = new Intent();
startActivity(newActivity);
}
};
于 2013-11-13T21:23:34.337 回答
0
// create a reference to the EditText in your layout
EditText editText = (EditText)findViewById(R.id.editTextIdInLayout);
// create a reference to the check Button in your layout
Button btn = (Button)findViewById(R.id.buttonIdInLayout);
// set up an onClick listener for the button reference
btn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
String userInput = editText.getText().toString(); // get the user input
if (userInput.equals("helloworld") // see if the input is "helloworld"
{
setContentView(R.layout.newLayout); // change the content view
}
}
});
于 2013-11-13T21:36:07.893 回答