有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在RecycleView适配器中显示ImageView onClick中的对话框片段

我有ActionBarDialog(DialogFragment)、CarAdapter(RecycleView)和SportFragment。我正在SportFragment中创建方法(infoMethod),以显示DialogFragment并正常工作。但是如果我想在CarAdapter中调用infoMethod,它就不起作用(java.lang.NullPointerException)

SportFragment中的infoMethod

public void infoMethod(){
    Bundle args = new Bundle();
    args.putString("title", "Dialog with Action Bar");
    ActionBarDialog actionbarDialog = new ActionBarDialog();
    actionbarDialog.setArguments(args);
    actionbarDialog.show(getActivity().getSupportFragmentManager(),
            "action_bar_frag");
}

我试图从CarAdapter调用infoMethod

        public MyViewHolder(View view) {
        super(view);

        image= (ImageView) view.findViewById(R.id.imageViewlist);
        image.setOnClickListener(this);

    }
    @Override
    public void onClick(View v) {
        SportFragment infoFrag = new SportFragment();
        if (v.getId() == image.getId()){
            v.startAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.imagelist));
            infoFrag.infoMethod(); //call infoMethod not work

            Toast.makeText(v.getContext(), "ITEM PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(v.getContext(), "ROW PRESSED = " + String.valueOf(getAdapterPosition()), Toast.LENGTH_SHORT).show();
        }
    }

Logcat

09-29 13:30:09.292 18661-18661/com.paijostudio.hitungmasa E/AndroidRuntime: FATAL EXCEPTION: main
                                                                             java.lang.NullPointerException
                                                                                 at com.paijostudio.hitungmasa.fragment.SportFragment.infoMethod(SportFragment.java:210)
                                                                                 at com.paijostudio.hitungmasa.adapter.CarAdapter$MyViewHolder.onClick(CarAdapter.java:73)
                                                                                 at 安卓.view.View.performClick(View.java:4204)
                                                                                 at 安卓.view.View$PerformClick.run(View.java:17355)
                                                                                 at 安卓.os.Handler.handleCallback(Handler.java:725)
                                                                                 at 安卓.os.Handler.dispatchMessage(Handler.java:92)
                                                                                 at 安卓.os.Looper.loop(Looper.java:137)
                                                                                 at 安卓.app.ActivityThread.main(ActivityThread.java:5041)
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:511)
                                                                                 at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                                                 at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:560)
                                                                                 at dalvik.system.NativeStart.main(Native Method)

有什么办法可以显示DialogFragment吗?谢谢


共 (0) 个答案