小编nir*_*vik的帖子

从带有标头的expandablelistview中检索原始适配器

我正在使用ExpandableListView和一个扩展BaseExpandableListAdapter的自定义适配器.现在我想在可扩展列表中添加一个标题,所以不要使用我的apapter来获取元素的视图,而是需要使用标题"自动"创建的元素,所以我没有得到IndexOutOfBoundsExceptions,因为现在标题是0位置的元素.

在我的适配器不可扩展的其他ocassions我只需要调用myList.getAdapter(),一切都很好,但现在我需要得到扩展BaseExpandableListAdapter的适配器,我找不到这样做的方法.

myList = (ExpandableListView)findViewById(R.id.my_list);
myList .setGroupIndicator(null);
myList .setOnGroupClickListener(this);
myList .setOnChildClickListener(this);

//add a header
View addSummaryLayout = View.inflate(this, R.layout.add_summary, null); 
groupedMultimediaListView.addHeaderView(addSummaryLayout);  

myAdapter = new MyAdapter (this, uploadingMedias);
myList .setAdapter(myAdapter );
Run Code Online (Sandbox Code Playgroud)

在某些时候,我需要为myAdapter调用getChildView方法(扩展BaseExpandableListAdapter),但我不能直接使用myAdapter,因为那个没有标头.我需要通过列表来完成.我试图通过getWrappedAdapter来做到这一点

HeaderViewListAdapter headerAdapter = ((HeaderViewListAdapter) myList .getAdapter());
((MyAdapter ) headerAdapter.getWrappedAdapter()).getChildView(0, i - 1, false, view, myList );
Run Code Online (Sandbox Code Playgroud)

但它给了我一个ClassCastException,android.widget.ExpandableListConnector无法强制转换为MyAdapter

有没有人知道通过列表方法获取原始适配器的方法?

谢谢

android expandablelistview

12
推荐指数
1
解决办法
3753
查看次数

片段startActivityForResult始终在回调onActivityResult上返回resultCode 0和intent null

我搜遍了所有关于它的类似帖子,但找不到解决方案!

我的情况是我有一个活动A,它持有一个fragment,并且从那里fragment我想开始一个新的ActivityB应该返回一些值fragment.

fragment

startActivityForResult(mapIntent, ConstantsUtils.TOMAP_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)

ActivityB上,返回数据

Intent returnIntent = new Intent();
returnIntent.putExtra(SerializationConstants.isSearchSaved, mAbItemsShown.ordinal());
setResult (ConstantsUtils.SUCCESS_RETURN_CODE, returnIntent);
finish();
Run Code Online (Sandbox Code Playgroud)

在片段上

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

switch (requestCode) {

    case ConstantsUtils.TOMAP_REQUEST_CODE:

            if (resultCode == ConstantsUtils.SUCCESS_RETURN_CODE) {
              //do some stuff 
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

onActivityResultfragment成功调用,有权requestCoderesultCode总是0,意图总是null.

onActivityResultActivityA 下没有其他实现.

其实,我也试着开始activityfragmentgetActivity().startActivityForResult(mapIntent, …

android android-intent android-fragments onactivityresult

4
推荐指数
2
解决办法
1万
查看次数