2015-10-30 3 views
1

это код фрагмента, который содержит список. но ничего не показывает. этот фрагмент связан с вкладкой. это представление табуляции содержит три фрагмента, которые ничего не показывают. Зачем? Я добавляю код этого фрагмента и связанные с ним xml и другие коды классов.фрагмент ничего не показывает

public class MoviesFragment extends Fragment { 

String[] numbers_text = new String[] { "one", "two", "three", "four", 
     "five", "six", "seven", "eight", "nine", "ten", "eleven", 
     "twelve", "thirteen", "fourteen", "fifteen" }; 
String[] numbers_digits = new String[] { "1", "2", "3", "4", "5", "6", "7", 
     "8", "9", "10", "11", "12", "13", "14", "15" }; 




@Override 
public void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 



} 


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



    View view = inflater.inflate(R.layout.fragment_movies, container, false); 

    MainCustomList adapter = new MainCustomList(this.getActivity(), numbers_text, numbers_digits); 
     ListView list; 
     list=(ListView) view.findViewById(R.id.list); 
     list.setAdapter(adapter); 
     return getView(); 
} 
} 

fragmentmovie:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#17df0d" 
android:orientation="vertical" > 





<ListView 
    android:id="@+id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" > 

</ListView> 

</RelativeLayout> 

mainlist:

 public class MainCustomList extends ArrayAdapter<String>{ 

private final Activity context; 
private final String[] str1; 
private final String[] str2; 
public MainCustomList(Activity context,String[] str1, String[] str2) { 
super(context, R.layout.maintemp, str1); 
this.context = context; 
this.str1 = str1; 
this.str2 = str2; 

     } 
@Override 
public View getView(int position, View view, ViewGroup parent) { 
LayoutInflater inflater = context.getLayoutInflater(); 
View rowView= inflater.inflate(R.layout.maintemp, null, true); 
TextView txtTitle = (TextView) rowView.findViewById(R.id.textView1); 
TextView txtTitle2 = (TextView) rowView.findViewById(R.id.textView2); 

    txtTitle.setText(str1[position]); 
    txtTitle2.setText(str2[position]); 

return rowView; 
}} 

maintemp

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" android:visibility="visible"> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="fill_parent" 
    android:layout_height="60dip" 
    android:layout_margin="5dip" 
    android:background="@drawable/shape1" 
    android:text="Large Text" 
    android:textAppearance="?android:attr/textAppearanceLarge" android:padding="5dip" android:gravity="center" android:textSize="18dip" android:textColor="#ffffff"/> 

+0

в фильмах фрагментировать вы возвращаете неправильный тип – AndroidHacker

+0

спасибо. да, он возвращает неправильный тип. – user5508330

+0

добро пожаловать – AndroidHacker

ответ

1

return getView(); неправ. Фрагмент getView возвращает результат onCreateView, который равен null до onCreateView. Ergo вы возвращаете null. Изменение

return getView(); 

с

return view; 

мнение, вы надувают, и который содержит контент, который вы хотите показать

+0

спасибо. он решил проблему – user5508330

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