早上好。我正在开发一个应用程序,其中我有一个从活动扩展的主布局,在这个里面我有一个数据类型的片段,在我的例子中是 FragmentCover(它是一个类)。
在我的应用程序中,我按下一个按钮,我想将此片段布局更改为从片段扩展但类型不同的另一个布局,称为 SongList。
我的问题是我已经为 Cover 类定义了这个片段,当我更改时我没有任何问题,但是当我想获取视图并设置为我的类的一个变量时,songList = (ListView) getView().findViewById(R.id.songList);
它的功能是 null 并且它给出我的错误。
我把它放在这里我做什么。
布局
<fragment android:name="es.xxx.ui.FragmentCover"
android:id="@+id/pruebaa"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/songBar"
android:layout_below="@id/header"/>
主类变化
public void onClick(View v) {
if(isCoverFragment){
FragmentSongList fragmentSongList = new FragmentSongList();
transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.pruebaa, fragmentSongList);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.addToBackStack("LIST");
transaction.commit();
isCoverFragment=false;
}
else{
transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.pruebaa, fragmentCover);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
transaction.addToBackStack("COVER");
transaction.commit();
getSongCover();
isCoverFragment=true;
}
问题不是变化,而是当我尝试创建 findViewById 时,可能是因为它没有加载与 FragmentSongList 关联的视图。