2016-04-07 15 views
1

ListItemListView'dan seçildikten sonra Fragment düzenimi değiştirmeye çalışıyorum. Bunu yapmayı nasıl yapacağımı tam olarak emin değilim. İşte ben kullanıyorum kod temeli ...ListItem tıklandıktan sonra bir parça düzenini nasıl değiştiririm?

@Override 
public View onCreateView(final LayoutInflater inflater,final ViewGroup container, Bundle savedInstanceState) { 

    View rootView = inflater.inflate(R.layout.fragment_list_d, container, false); 

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
           int position, long id) { 

      // Getting list item index 
      int listIndex = position; 

      ((IndexListener) getActivity()).onIndexSelected(listIndex); 

     } 
    }); 


    return rootView; 

} 

kasten mümkün olduğunca soruya alakalı tutmak için kod bölümlerini kaldırdık var.

Özeti

Peki ben bir ListItem tıklandığında edildikten sonra, R.layout.fragment_list_d dışında farklı bir düzen biçimi dönmek rootView değiştirebilir ki?

+0

Başka bir düzeni şişirmeniz gerekiyor, sorun nedir? – Nanoc

+0

'ListItem 'tıklandığında başka bir düzeni nasıl şişireceğimi bilmiyorum. Hala rootView kullanmak zorunda mıyım? –

+0

Sanırım seni anlıyorum, setContentView'ı arıyorsun ama parça halinde ... Bu çözüme sahipsin (bunu sevmiyorum, sen de yapmazsan söyle) http://stackoverflow.com/questions/10951958/replacing-a -fragments-view-on-oncreateview-run-run – Nanoc

cevap

1

Tek bir parçayı değiştirmek istemiyorsanız, tek seçeneğiniz ebeveyn almaktır, önceki içeriğinizi kaldırın ve yeni ekleyin. Eğer onCreateView tarafından geçtikten sonra bir sınıf alanında

İlk mağaza rootView böylece onun referans almak, sonra yapın:

ViewGroup parentView =rootView.getParent(); 
parentView.removeView(rootView); 
View newRootView = inflater.inflate(R.layout.newlayout, parentView, false); 
parentView.addView(newRootView); 

test edilmemiş bu gerektiği çalışmaları (gibi bir şey, sadece benim kafadan yazdım

Bu yardımcı olur umarım.

İlgili konular