как передать переменную в следующий вид, используя viewflipper - PullRequest
1 голос
/ 04 февраля 2011

У меня проблема со следующим:

public void onItemClick(AdapterView<?> a, View v, int position, long id) {
    temp=a.getItemAtPosition(position).toString();
    Toast.makeText(ne.this, temp, Toast.LENGTH_SHORT).show();

     if (temp=="Aries")
     {
         ViewFlipper  viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);
        Toast.makeText(ne.this, temp, Toast.LENGTH_SHORT).show();
     }  
     if (temp=="Taurus")
     {
         ViewFlipper  viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);
        Toast.makeText(ne.this, temp, Toast.LENGTH_SHORT).show();
     }
     if (temp=="Libra")
     {
         ViewFlipper  viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);
        Toast.makeText(ne.this, temp, Toast.LENGTH_SHORT).show();
     }  

когда я нажимаю на элемент, он показывает строку в первом представлении. Но я не перехожу ко второму представлению. а также при первом просмотре, когда я нажимаю на другой элемент, он показывает первый вывод.

т.е. если я выбираю Овен в первом представлении, он показывает мне Овна в окне тостов, но не переходит во второй. и снова я нажимаю другой пункт, скажем, Телец, все еще он показывает Овна мне.

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Я думаю, что вы неправильно поняли элемент управления ViewFlipper.

По этой строке: ViewFlipper viewflipper= (ViewFlipper) findViewById(R.id.viewflipper);, вы просто инициируете управление viewflipper, вы не даете никакой команды для загрузки следующего или предыдущего представления.

Я имею в виду, есть showPrevious() и showNext() метод для загрузки предыдущего или следующего представления соответственно.

viewflipper.showPrevious()
viewflipper.showNext()

Например:

Вам нужно реализовать что-то подобное, я надеюсь, что это соответствует вашему вопросу:

viewflipper = (ViewFlipper) findViewById(R.id.viewflipper);
listview = (ListView) findViewById(R.id.listview);


listview.setOnItemClickListener(new OnItemClickListener(){
  public void onItemClick(AdapterView<?> a, View v, int position, long id) {
     viewflipper.showNext();

});

См. Этот пример: Как использовать ListView и ViewFlipper для навигации пользователя в приложении Android?

0 голосов
/ 04 февраля 2011

Вам нужно сравнивать строки с помощью метода .equals, а не с помощью ==.Ваш темп - «Овен», но это строка, отличная от той, с которой вы проверяете равенство, поэтому ваш temp == «Овен» возвращает false.Вам нужно написать это temp.equals («Овен»).

...