2012-02-15 2 views
0

Я хочу создать «приложение кавычек», поэтому каждый раз, когда пользователь нажимает на кнопку, появляется случайная цитата. Но я также хочу установить кнопку, которая возвращает пользователя к цитате, которую он видел раньше. И поскольку он всегда выбирает котировку случайным образом, я хотел бы сохранить номер int цитаты, поэтому каждый раз, когда кто-то нажимает кнопку, она хранится в строке int, которая была показана. Но я постоянно получаю ошибки. может ли кто-нибудь дать мне образец кода для такой кнопки? спасибо (кнопка2 должна быть баковой кнопкой)android go back button

final int [] Random2 = {};

button1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Zufallszahl1 = Würfel.nextInt(98); 

      Random2[counter] = Zufallszahl1; 
      counter++; 


       text1.setText(Lines[Zufallszahl1] 

      ); 

     } 

    }); 


    button2.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      text1.setText(Lines[Random2[counter-1]]); 
     } 
    }); 



} 

}

ответ

0

Есть два способа сделать это;

  1. Хранить историю в массиве, и переопределять кнопку «Назад», чтобы вернуться через этот
  2. Используйте андроид родной backstack.

Как первая попытка идентификатор всегда идут с номером 2.

Думай об этом таким образом,

Ваша деятельность показывает случайную цитату При нажатии на кнопку «Далее» начинается другой «случайная цитата» Мероприятия.

Таким образом, андроид держит заднюю стенку для вас!

Вам просто нужно уволить намерение для вашего RandomQuoteActivity.

0

Вы должны дать нам ошибку logcat. Вероятно, ваша ошибка - это исключение ArrayIndexOutOfBoundsException, потому что ваш массив Random2 пуст. Если вы хотите массив, который может расти по мере добавления элементов в нем, использовать Vector

final Vector<Integer> Random2 = new Vector<Integer>(); 

button1.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     Zufallszahl1 = Würfel.nextInt(98); 

     Random2.add(Zufallszahl1); 
     //We don't need a counter, Vector already has one 

      text1.setText(Lines[Zufallszahl1] 

     ); 

    } 

}); 


button2.setOnClickListener(new View.OnClickListener() { 

    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     text1.setText(Lines[Random2.get(Random2.size()-1)]); 
     //you should also remove the last quote off the vector's stack with something like Random2.remove(Random2.size()-1); 
    } 
}); 
+0

хорошо я понимаю, но мое затмение говорит: вектор не мог быть решен в станд –

+0

ли вы импортировать java.util.Vector? Вы вводите «Вектор», а не «вектор»? – Setsuki

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