2015-09-26 3 views
0

Я создал peroject с ActionBar вкладками В этом потребность пользовательских ListView В фрагменте но GetView метод не получает ВызываетсяAndroid GetView() не Вызывается

ArrayAdapter Класс

public class MySimpleArrayAdapter extends ArrayAdapter<ChildPojo> { 

     static class ViewHolder { 
      public TextView text1; 
      public TextView text2; 
     } 

     private final Context context; 
     private final List<ChildPojo> values; 
     public MySimpleArrayAdapter(Context context,List<ChildPojo> values) { 
      super(context, R.layout.item_list, values); 
      this.context = context; 
      this.values = values; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      Log.i("class/getView", "not getting called"); 
      View rowView = convertView; 
      if (rowView == null) { 
       rowView = LayoutInflater.from(this.getContext()) 
         .inflate(R.layout.item_list, parent, false); 
       // configure view holder 
       ViewHolder viewHolder = new ViewHolder(); 
       viewHolder.text1 = (TextView) rowView.findViewById(R.id.item_label); 
       viewHolder.text2 = (TextView) rowView.findViewById(R.id.item_price); 


       rowView.setTag(viewHolder); 
      } 

      ViewHolder holder = (ViewHolder) rowView.getTag(); 


      String s = values.get(position).getNamec(); 
      holder.text1.setText(s); 
      int i = values.get(position).getPrice(); 
      holder.text2.setText(String.format("%d",i)); 


      return rowView; 
     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return this.values.size(); 
     } 

     @Override 
     public long getItemId(int arg0) { 
      // TODO Auto-generated method stub 
      return 0; 
     } 

    } 


FragmentClass extends List Fragment 

    DAOClass dao; 
    List<ChildPojo> childList = new ArrayList<ChildPojo>(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     final List<ChildPojo> data = new ArrayList<ChildPojo>(); 
     data.add(new ChildPojo(1,"name 1",100,1)); 
     data.add(new ChildPojo(2,"name 2",200,1)); 
     MySimpleArrayAdapter adapter = new    MySimpleArrayAdapter(getActivity(),data); 

     setListAdapter(adapter); 
    } 

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

     View view = inflater.inflate(R.layout.row_item, container, false); 
     return view; 
    } 
} 
+0

Вы можете также предоставить 'исходный код R.layout.row_item'? –

+0

Проверьте файл 'R.layout.row_item', в соответствии с документацией этот файл должен содержать' ListView' с идентификатором '@android: id/list' - [check docs] (http://developer.android.com/ ссылка/android/app/ListFragment.html) –

+0

fragment_main.xml –

ответ

0

Я предполагаю, что ты раздуть неправильный вид в onCreateView

В методе onCreateView FragmentClass отредактируйте нижеследующую строку следующим образом:

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

в SimpleArrayAdapterClass изменить строку ниже, как этот

rowView = LayoutInflater.from(this.getContext()) 
      .inflate(R.layout.row_item, parent, false); 
+0

В коде, который я написал View view = inflater.inflate (R.layout.row_item , контейнер, ложь); bt все еще не работает –

+0

Как я уже говорил, замените «R.layout.row_item» на «R.layout.item_list» в методе onCreateView – waleedsarwar86

+0

добавьте оба ваших xml-файла – waleedsarwar86

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

     View view = inflater.inflate(R.layout.row_item, container, false); 
    final List<ChildPojo> data = new ArrayList<ChildPojo>(); 
     data.add(new ChildPojo(1,"name 1",100,1)); 
     data.add(new ChildPojo(2,"name 2",200,1)); 
     MySimpleArrayAdapter adapter = new MySimpleArrayAdapter(getActivity(),data); 

     setListAdapter(adapter); 
     return view; 
    } 
Смежные вопросы