我需要一些帮助,在MainActivity中设置一个侦听器,等待清除回收查看项目。
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
Log.d(TAG, "whats swiped " + viewHolder.getAdapterPosition() + " direction: " + direction + " arrayListCountyNames.get(viewHolder.getAdapterPosition())" + arrayListCountyNames.get(viewHolder.getAdapterPosition()));
final String s = arrayListCountyNames.get(viewHolder.getAdapterPosition());
final String s2 = arrayListStateName.get(viewHolder.getAdapterPosition());
final String s3 = arrayListSourceId.get(viewHolder.getAdapterPosition());
final String s4 = arrayListID.get(viewHolder.getAdapterPosition());
我需要回到MainActivity,因为一切都是在那里执行的。
有两种方法可以将数据发送到其他类。
- 第一个是使用您自己的回调方法
首先创建一个模型类来存储需要发送的数据示例:
public class Details {
public String s ;
public String s2 ;
public String s3;
public String s4;
}
然后在您的片段中创建一个监听器(接口),如下所示:
public class BlankFragment extends Fragment {
private OnSwipeMyRecyclerViewListener mListener;
public BlankFragment() {
// Required empty public constructor
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnSwipeMyRecyclerViewListener) {
mListener = (OnSwipeMyRecyclerViewListener) context;
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnSwipeMyRecyclerViewListener{
void onSwipeMyRecyclerView(Details details, int position);
}
}
之后,在onSwiped方法中,创建一个details类的对象,并分配所有需要传递的值,然后调用监听器,如下所示:
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
//your code
Details details = new Details();
details.s = s;
details.s2 = s2;
details.s3 = s3;
details.s4 = s4;
mListener.onSwipeMyRecyclerView(details,direction);
}
最后在您的活动中实现您的监听器,如下所示。
public class MainActivity extends AppCompatActivity implements BlankFragment.OnSwipeMyRecyclerViewListener {
@Override
public void onSwipeMyRecyclerView(Details details, int position) {
//Do whatever want to do with your data here
}
}
- 或者第二个很容易。您必须使用第三方库,如EventBushttps://github.com/greenrobot/EventBus或Ottohttp://square.github.io/otto/请点击以上链接
现在试着让我们知道…:)