2013-03-25 2 views
2

Я новичок, изучая Java/Android-программирование.Разница между реализацией функции back и cancelbutton?

Я делаю приложение для Android в Eclipse и создал несколько кнопок. У меня есть кнопка возврата и отмены.

Пример:

У меня есть EditText там вы можете написать ваше имя. Если вы пишете свое имя и нажимаете на него, то u вернется к предыдущему действию, но если вы перейдете к одной и той же Деятельности, вы все равно увидите имя, которое вы написали в EditText.

Но если вы нажмете кнопку отмены, вы вернетесь к предыдущему действию, но когда вы вернетесь, ваше имя будет пустым. Я буду «убивать» или «останавливать» действие.

Это код, который я использую для Backbutton, что бы вы использовали для кнопки «Отмена»? Спасибо.

public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.buttonBack: 
     Intent intent = new Intent (AllActivity.this, MenuActivity.class); 
     startActivity(intent); 
     break; 

ответ

2

Для кнопки «Отмена» вы можете использовать метод ниже, это убьет действие.

finish() 

так в вашем коде это будет выглядеть примерно так:

public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.cancel: 
     finish(); 
     break; 
1

Существовал небольшая разница в этом, как в соответствии с требованием процесса или потока приложения. Для отмены и возврата как работы такие же, например, если вы открываете любой диалог, и кнопка отмены отменяет закрытие/отклонение вашего диалогового окна так же, как это делает кнопка «Назад». Хотя для реализации с помощью Activity вы, если вы реализуете для закрытия текущей деятельности, можете просто закончить с помощью обоих параметров, просто вызвав метод finish(). Как обычно, кнопка возврата работает для завершения текущей работы и обратно.

1

Другой способ сделать это, что вас может заинтересовать, - это самостоятельно уничтожить содержимое EditText. Вам нужно будет иметь в вашем xml-файле идентификатор, определенный для EditText, чтобы вы могли обращаться к нему программно.

<EditText 

раскладка материал здесь:

android:layout_width="fill_parent" 

... , а затем атрибут ID

android:id="@+id/edit_text_id" 
    > 

то в вашем коде вы поместите в своем классе (не внутри какой-либо метод):

EditText anEditText; 

то в вашем OnCreate(), после того, как инфляция макета (если речь идет о заранее это вызовет приложение к сбою):

anEditText = (EditText) findViewById(R.id.edit_text_id); 

имя edit_text_id не является существенным, но это то, что мы использовали в расположение файла

следующий добавить к методу OnClick для отмены (после сазе):

//this wipes the text from the textbox 
anEditText.setText(""); 
// add the rest of the back button code after this and your good! 

удачи!Помните, что мы все были новичками один раз. Если вы хотите быть хорошим программистом для Android, я предлагаю вам сначала получить сильный опыт в Java. Эта бесплатная книга мне очень помогла!

Java Notes

Смежные вопросы