2013-11-13 4 views
0

Я начинающий Java, и я хочу проверить EditText. Что я имею в виду: мой editText должен соответствовать «helloworld». Когда вы нажимаете кнопку, это должно быть подтверждено. Если это правда -> перейдите в новый класс, в котором у меня есть setContentView для отображения нового макета. Если текст, который я только что напечатал, не матч «helloworld», он ничего не должен делать. Это кажется очень легким, но поскольку я новичок, вы поможете мне BIGTIME!Простая проверка правильности редактирования текста (Eclipse)

+0

Что вы достигли до сих пор? – 323go

+0

[Сравнение строк Java] (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fdocs.oracle.com%2Fjavase % 2Ftutorial% 2Fjava% 2Fdata% 2Fcomparestrings.html & е = pOiDUuvsD8qT2QWerICgCw & USG = AFQjCNF3Z_YhX4OrkuIOLJ0fEULdanZSLA & Sig2 = s4T_ht1ZoQ13sbxrFvYIMQ & BVM = bv.56343320, d.b2I) может быть началом, но мы понятия не имею, какую часть вы застряли на – codeMagic

+1

Вы перечислили так много шагов, которые он непонятно, какой из них вы застряли. Например, вы уже знаете, как вызывать метод при нажатии кнопки, и вы можете знать, как проверять одну строку на другую, но вы, возможно, не знаете, как получить входную строку. И т.д. и т. Д. Вы получите более подробные ответы, объясните, с какими действиями вы справитесь и где именно вы застряли. –

ответ

0

Вот большая часть обработанной логики. Вам нужно будет заполнить свой фактический идентификатор макета и сделать свое намерение запуска. Поместите этот код в 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 
     } 

    } 

}); 
+0

спасибо! это сработало для меня. Что делать, если я хочу отобразить текстовое сообщение с надписью «error», когда результат editText не соответствует «helloworld»? – YoranY

+0

Вам нужно будет добавить текстовый вид в макет. И после того, как скобка if заканчивается, добавьте инструкцию else с чем-то вроде else {(TextView) findViewById (R.id. )). SetText ("error");} – JoeyG

+1

Спасибо, Джои, я сделал это, сделав textview в моем xml-файле и использование setVisibility в классе Java. – YoranY

0

В деятельности (или андроид класса), вы должны получить экземпляр вашего EditText. Текст редактирования имеет идентификатор, и вы можете получить его, используя R. R - это ресурсы для вашего приложения.

EditText t = (EditText)findViewById(R.id.<Name of your textfield>); 

Тогда вы можете получить значение этого текстового поля и сравнить его

t.getText().toString().equals("helloworld"); 

возвращает истину или ложь. Если вы не заботиться о случае букв используйте

t.getText().toString().toLowerCase().equals("helloworld"); 

вам потребуется onClickListener для вашей кнопки, проверить андроид апи 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); 
    } 
}; 
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 
     } 
    } 
}); 
Смежные вопросы