2017-08-03 56 views
0

是否可以在GridView中使用Fragments?GridView項目的片段?

我試圖做:

@Override 
public View getView(int position, View convertView, ViewGroup parent) 
{ 

    if(convertView == null) 
    { 
     Rune rune = (Rune) getItem(position); 
     RuneFragment runeFragment = new RuneFragment(); 
     FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction(); 
     transaction.add(parent.getId(), runeFragment); 
     transaction.commit(); 
     runeFragment.renderRune(rune); 

     convertView = parent.findViewById(R.id.rune_grid_fragment); 

     Log.i(MainActivity.TAG, "" + convertView); //====> null 
    } 

    return convertView; 
} 

但原來convertView總是空。

回答

0

你可以這樣做。

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    if (convertView == null) { 
     // edited ,add your layout here 
     convertView = LayoutInflater.from(context).inflate(R.layout.your_layout, null); 

     Rune rune = (Rune) getItem(position); 
     RuneFragment runeFragment = new RuneFragment(); 
     FragmentTransaction transaction = activity.getSupportFragmentManager().beginTransaction(); 
     transaction.add(parent.getId(), runeFragment); 
     transaction.commit(); 
     runeFragment.renderRune(rune); 

     Log.i(MainActivity.TAG, "" + convertView); //====> null 
    } 
    return convertView; 
}