2015-02-21 3 views
0

Я использую фрагменты с вкладками. У меня есть два фрагмента: AddTask.java и AddedTask.javaне удалось вызвать метод адаптера из фрагмента

у меня есть один класс Adaper Adapter.java

public class Adapter extends BaseAdapter { 
Context context; 
List<Reminder_Database> lists; 
TextView title, date,time,note,date_edit,time_edit; 
EditText title_edit,note_edit; 
AddedTask addedTask; 
int ids; 
public Adapter(Context context, List<Reminder_Database> list, AddedTask addedTask) { 
    // TODO Auto-generated constructor stub 

    this.context=context; 
    this.lists=list; 
    this.addedTask=addedTask; 
} 

выше упомянутого кода адаптера. Теперь я хочу количество элементов списка в моем первом фрагменте AddTask.java, но он возвращает null.

Я попытался как

Adapter adapter=new Adapter(context,lists,addedTask); 
adapter.getcount(); 

но он возвращает null.

Возможно Контекст фрагмента AddedTask возвращается null.

Пожалуйста, не путайте между AddTask и AddedTask.

Я хочу getCount() адаптера, который вызывается в AddTask, или еще мне нужно значение от AddedTask на операции открытия.

+0

, где контекст инициализации и что 'this' см в коде? – Raghunandan

+0

Извините, на самом деле заменил контекст с помощью getActivity() и вложенным в него объектом списка. но фактически просто я не могу вызвать метод adaptetr для моего первого фрагмента AddTask. –

+0

как ваш список населен в первую очередь – Raghunandan

ответ

1

Если это не будет чем-то вроде

Adapter adapter=new Adapter(getActivity(),list,addedTask); 
adapter.getcount(); 

где list является объектом типа List<Reminder_Database>.

Чтобы получить значение из AddedTask в AddTask:

public class MainActivity extends Activity{ 

    public int count; 

} 

Сначала установите значение в AddedTask

public class AddedTask extends Fragment{ 

    .... 
    ((MainActivity)getActivity()).count = adapter.getcount(); 

}

Чтобы получить его в другом Fragment:

public class AddedTask extends Fragment{ 

    .... 
    int count = ((MainActivity)getActivity()).count; 

} 

Попробуйте это. Это сработает.

+0

@ Zygotelnit Фактически список - это объект типа List . Путаница лежит на addTask, потому что это также фрагмент, и я назвал это просто как добавленная добавленная таба; и передал это адаптеру. все хорошо??? –

+0

@Zygotelnit Еще одна вещь - это то, что я получаю личный счет в AddTask, сохраняя его в одной переменной и передавая его в AddTask? и да, это должно быть сделано и при запуске приложения. –

+0

@Viren: Вы можете объяснить свой новый вопрос немного более четко? –

0

Прежде всех параметров несовпадающих

это -> Список не будет работать, и фрагмент контекста следует из деятельности.

getActivity().getApplicationContext() 

Используйте некоторый список объектов: -

Adapter adapter=new Adapter(getActivity().getApplicationContext(),list,addedTask); 
+0

см. Мой комментарий к первому ответу –

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