public class MyPostsScreen extends Fragment implements
LoaderManager.LoaderCallbacks<Cursor>, MediaStoreAdapter.OnClickThumbListener{
private OnFragmentInteractionListener mListener;
private final static int READ_EXTERNAL_STORAGE_PERMMISSION_RESULT = 0;
private final static int MEDIASTORE_LOADER_ID = 0;
private RecyclerView mThumbnailRecyclerView;
private MediaStoreAdapter mMediaStoreAdapter;
public MyPostsScreen() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_my_posts_screen, container, false);
mThumbnailRecyclerView = (RecyclerView) v.findViewById(R.id.thumbnailRv);
GridLayoutManager gridLayoutManager = new GridLayoutManager(this.getContext(), 3);
mThumbnailRecyclerView.setLayoutManager(gridLayoutManager);
mMediaStoreAdapter = new MediaStoreAdapter(this.getActivity());
mThumbnailRecyclerView.setAdapter(mMediaStoreAdapter);
checkReadExternalStoragePermission();
// Inflate the layout for this fragment
return v;
}
}
public class MediaStoreAdapter extends RecyclerView.Adapter<MediaStoreAdapter.ViewHolder> {
private Cursor mMediaStoreCursor;
private final Activity mActivity;
private OnClickThumbListener mOnClickThumbListener;
public interface OnClickThumbListener {
void OnClickImage(Uri imageUri);
void OnClickVideo(Uri videoUri);
}
public MediaStoreAdapter(Activity activity) {
this.mActivity = activity;
//TODO: Figure out why this fails Java Class Exception, and FIX.
this.mOnClickThumbListener = (OnClickThumbListener)activity;
}
}
将其更改为
private final Context mActivity;
....
....
public MediaStoreAdapter(Context context, OnClickThumbListener onClickThumbListener) {
this.mActivity = context;
this.mOnClickThumbListener = onClickThumbListener;
}
在MyPostsScreen
片段中,调用适配器构造函数,如下所示,
mMediaStoreAdapter = new MediaStoreAdapter(this.getActivity(), this);
mThumbnailRecyclerView.setAdapter(mMediaStoreAdapter);
这是因为您的接口是由片段实现的,而不是由MainActivity实现的。
问题内容: 我很困惑 我有一个直接实现接口的类: 这证明我在寻找正确的变量: 但是,当我尝试将类的实例强制转换为接口时: 我收到ClassCastException! 另外,返回false,我不确定为什么: 从文档: 确定是否 类或 由这类对象表示接口是 任一相同,或是一个超类或 的超接口,类或接口表示由指定的类的参数。 我不应该总是能够将一个对象强制转换为其类实现的接口吗? 谢谢。 问题答案:
问题内容: 我知道在stackoverflow中已经对此提出了很多要求,但是我找不到适合我问题的答案。 在下面的以下代码中,我无法打印出每个项目,因为它说。 我曾尝试使用来打印每个项目,但都无法正常工作。 我认为可能是由于Edge类中的方法导致的问题,但是如果我不使用它,我将无法获得真实的键号(它将被打印为或类似的形式) 感谢您之前的帮助 主班 边缘类 图类 节点类 问题答案: private H
我试图创建像@repository这样的系统。
问题内容: 我有一个SOAP Web服务,正在尝试在应用程序内部调用。我正在使用cxf-codegen-plugin(3.1.10)从WSDL生成源。 使用生成的客户端,如果我在应用程序内调用Web服务,则效果很好。但是,我还针对导致问题的应用程序中的同一软件包使用了另一个JAXB实例。 例如,以下代码很好用: 但是,在此之前初始化一个新的JAXB实例会导致调用失败: 使用以下堆栈跟踪: 我试着接
问题内容: 我想在下面的代码中改进getCustomerFromDTO方法,我需要从interface {}创建一个结构,目前我需要将该接口编组为byte [],然后将数组解组为我的结构-必须有更好的方法。 我的用例是,我通过rabbitmq发送结构,然后使用具有其他特定于域的数据的通用DTO包装器来发送它们。当我从Rabbit MQ接收DTO时,消息下方的一层将被封送给我的DTO,然后我需要从该
这些是我的蒙德尔人: 而且 我的类中有这个方法: 在(扩展以前的)中使用: 在此的另一点中,我有: 但这给了我: 线程“JavaFX Application thread”java.lang.ClassCastException:类Models.Accomodation不能强制转换为类Models.Intraction(Models.Accomodation和Models.Intraction在C