0

У меня есть основной вид деятельностинесколько listFragments с заказной адаптер в FragmentActivity

public class MainActivity extends FragmentActivity implements ActionBar.TabListener 

авто, генерируемый Eclipse, с двумя вкладками, а также я создал два ListFragments будут показаны на каждой вкладке (также автоматически генерируется Eclipse, и Я добавил свои коды, и не удалять любые перегруженные методы)

public class FragA extend ListFragment { 
    private List<TypeA> list_A; 
    private ArrayAdapter<TypeA> adapter; 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    list1=new ArrayList<TypeA>(); 
    list1= /*gets data from db*/ 
    adapter = new My_A_Adapter(getActivity(),list_A); 
    setListAdapter(adapter); 
} 


private class My_A_Adapter extends ArrayAdapter<TypeA>{ 
    private LayoutInflater inflater; 
public My_A_Adapter (FragA activity){ 
super(activity, R.layout.myItemView, list_A) 
} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
if(convertView==null){ 
    convertView = inflater.inflate(R.layout.myItemView_A, parent, false)} 
    /* defining the views as setting them by iterating over the list 
     getting the data by position*/ 
    return convertView; 
} 

и тот же подход для FragB, но список FragB получить заселен android.R.layout.simple_list_item_1, а не заказной myItemVi ew

Я думаю, что есть проблема с контекстом или некоторыми атрибутами активности (строки, показанные в списке, верны, но вид не мой!) может мне кто-нибудь помочь? благодаря

FragB и его адаптер точно такой же код, только там, где когда-либо вы видите «А» заменить «В»

+0

Пожалуйста, разместите код для FragB с его адаптером. – VikramV

+0

это точно так же, просто замените A на B's –

+0

** «Список FragB заполняется andoir_simple_list» ** - что это значит? Что такое "andoir_simple_list"? – Squonk

ответ

0

Попробуйте вместо A_Adapter и то же самое с B_Adapter:

private class My_A_Adapter extends ArrayAdapter<TypeA>{ 
    private Context context; 

    public My_A_Adapter (Context context, int textViewResourceId){ 
     super(context, textViewResourceId); 
     this.context = context; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater mInflater = (LayoutInflater) context 
      .getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     if(convertView==null){ 
      convertView = mInflater.inflate(R.layout.myItemView,null) 
     } 
     /* defining the views as setting them by iterating over the list 
     getting the data by position*/ 
     return convertView; 
    } 
} 
+0

фактически, насколько я понял в ListFragment, нет способа передать Context, кроме getActivity(), поэтому изменение конструктора My_A_Adapater из Activity to Context не вносит никаких изменений, на самом деле Я совершил то, что вы сказали, но та же проблема! –

+0

Я отредактировал код, в последнем изменился не только конструктор, попробуйте последнюю версию, он должен решить вашу проблему. – v1k

+0

Я предполагаю, что проблема с иерархией ViewGroup или Контекст смешивается с первым фрагментом Context или getActivity возвращает контекст MainActivity или что-то вроде этого –

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