2015-12-18 2 views
0

Это мой главный. при нажатии кнопки btn начинается действие списка просмотров:Как вернуться к предыдущему виду с помощью кнопки «Назад» (android)

btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 



      Intent intent = new Intent(MainActivity.this,ListEvents.class); 


      startActivity(intent); 
     } 
    }); 

Это моя деятельность по моему делу. Он устанавливает вид списков, когда один из списков щелкнул, он показывает textview в другом представлении.

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 


     mContext = getBaseContext(); 
     db = new DBHandler(mContext); 

     listView = getLayoutInflater().inflate(R.layout.activity_list, null); 
     showView = getLayoutInflater().inflate(R.layout.show_description, null); 


     setContentView(listView); 
     lv = (ListView) findViewById(R.id.list); 
lv.setAdapter(new CustomAdapter(this, events)); 
      lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
        desc = (TextView) showView.findViewById(R.id.desc); 

        desc.setText(events.get(position).getDescription()); 
        setContentView(showView); 
       } 
      }); 

     } 
    } 

когда после Showview (TextView) показано, я нажал кнопку назад, вместо того, чтобы идти в ListView, он идет к основной (где я нажал БТН прийти к ListView). Я использовал фрагменты здесь:

 listView = getLayoutInflater().inflate(R.layout.activity_list, null); 
     showView = getLayoutInflater().inflate(R.layout.show_description, null); 

Почему это не так?

+1

Место, где сейчас находится, является правильным местом. Если вы хотите изменить то, что кнопка «Назад» переопределяет 'onBackPressed' или использует' Fragment' для управления задним стеком – Blundell

+0

lol Я думал, что использовал фрагменты с этими listView = getLayoutInflater(). Inflate (R.layout.activity_list, null); showView = getLayoutInflater(). Inflate (R.layout.show_description, null); так, не так легко обрабатывать фрагменты? –

+0

Это не фрагменты. Все, что вы делаете, раздувает два отдельных макета. И действительно, то, что вы делаете, очень неправильно. Вы должны перенести его в фактические фрагменты. –

ответ

2

http://developer.android.com/training/implementing-navigation/ancestral.html

Этот сайт объясняет отлично. Это потребовало быстрого поиска Google для Android.

Также для более того, что вы ищете. Вы хотите поймать вверх навигацию.

@Override 
public void onBackPressed(){ 
    //switch to list view 
} 
+0

, но они не являются действиями. только просмотры с текстовыми комментариями –

+0

Посмотрите на мой обновленный ответ – KodyVanRy

+0

Итак, вы говорите, что я могу продолжать использовать эти отдельные макеты вместо фактических фрагментов с теми, которые были оттеснены? –

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