现在,我通过绑定通过以下列表适配器获取一些值来填充recyclerView:
private val otrosSubmitListAdapter = OtrosSubmitListAdapter()
[more code]
binding.otrosRequestList.adapter = otrosSubmitListAdapter
问题是我想在绑定所有值后,再与其他一些值合并,我想在一个名为DummyContent.ITEMS的变量中进行合并,稍后我将其放入新的filterAdapter并将该适配器用于我的recyclerview,如下所示:
dataArray = DummyContent.ITEMS
filter_adapter = MyFilterAdapter(this.activity, dataArray)
recyclerView.adapter = filter_adapter
问题是我无法掌握等待的方式,因此OtrosSubmitListAdapter()已完成其所有内部绑定,并且可以正确获取其值,现在通过使用此代码DummyContents从未合并过OtrosSubmitListAdapter()所需的值,因此只能正确显示其其他值。
等待OtrosSubmitListAdapter()完成其所有绑定并正确使用结果的可能方法是什么?
答案 0 :(得分:1)
在OtrosSubmitListAdapter内部创建一个回调,如下所示:
public interface AdapterCallback {
void itemsBound();
}
将其添加到您的活动中
public class MainActivity extends AppCompatActivity implements AdapterCallback
初始化时将AdapterCallback的引用传递给OtrosSubmitListAdapter
在适配器上
AdapterCallback adapterCallback;
public OtrosSubmitListAdapter(AdapterCallback adapterCallback){
this.adapterCallback = adapterCallback;
}
@Override
public void onBindViewHolder(final OtrosSubmitListAdapter.MyViewHolder holder, final int position) {
if (position == itemList.size() - 1){
adapterCallback.itemsBound();
}
}
关于您的活动
private val otrosSubmitListAdapter = OtrosSubmitListAdapter(this)
@Override
public void itemsBound() {
//enter code here
}
有关适配器回调示例,请参见https://stackoverflow.com/a/32032990/11881779
编辑:如果我对您的问题理解有误,请分享您的适配器和活动代码