在android中键入cast Fragment类到Context?

时间:2014-05-05 18:01:33

标签: android

我在一个我找不到解决方案的问题上长时间坚持了。我在扩展Fragment的类中有一个可扩展的列表视图。我已将此视图设为公共,以便可以在适配器中访问它我正在将我的Arraylist和上下文传递给适配器。在适配器类中,我想访问可扩展列表视图。

Class MainFragment extends Fragment
{
  ...
  ...
  ArrayList<String>arrCategory=new ArrayList<String>();
  public ExpandableListView listview_categories;
  MainFragment_Adapter adapter;
  ....
   adapter=new MainFragment_Adapter(context, R.id.row_cell_text_multilevel, arrCategory);

}

在适配器类

class MainFragment_Adapter extends BaseExpandableListAdapter{

...
i am trying to access
if(!((MainFragment)context).listview_categories.isGroupExpanded(groupPosition)) 
{
  above if statement gives error
}
}

错误:无法从Context转换为MainFragment 有人可以告诉我如何访问适配器类中的公共字段listview_categories?

1 个答案:

答案 0 :(得分:0)

很明显,Fragment不是一个上下文。您可以简单地将构造函数的第一个参数更改为MainFragment。 如果你需要一个上下文,你可以从片段中myFragment.getActivity()