单击setImageDrawable的ImageView后,应用程序崩溃

杰夫·李

我的应用在以下情况下崩溃:

  1. HomeActivity开始
  2. 导航到CategoryActivity或打开一个共享相同的recyclerview Viewholder的DialogFragment
  3. 导航回到HomeActivity,点击具有setDrawable的ImageView
  4. 应用程式当机

特此是崩溃代码

10-31 07:45:52.811 25005-25005/com.studio.douka E/AndroidRuntime: FATAL EXCEPTION: main
          Process: com.studio.douka, PID: 25005
          java.lang.NullPointerException
              at
    android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:374)
              at com.studio.douka.PostHolder.setLikeStatus(PostHolder.java:163)
              at
    com.studio.douka.PostDialogFragment$3.onDataChange(PostDialogFragment.java:110)
              at com.google.android.gms.internal.zzaie.zza(Unknown Source)
              at com.google.android.gms.internal.zzaje.zzcta(Unknown Source)
              at com.google.android.gms.internal.zzajh$1.run(Unknown Source)
              at android.os.Handler.handleCallback(Handler.java:733)
              at android.os.Handler.dispatchMessage(Handler.java:95)
              at android.os.Looper.loop(Looper.java:136)
              at android.app.ActivityThread.main(ActivityThread.java:5001)
              at java.lang.reflect.Method.invokeNative(Native Method)
              at java.lang.reflect.Method.invoke(Method.java:515)
              at
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
              at dalvik.system.NativeStart.main(Native Method)

特此是使应用程序崩溃的代码

PostHolder.java

public class PostHolder extends RecyclerView.ViewHolder {

    private static final String TAG = PostHolder.class.getSimpleName();
    public TextView postTitle;
    public ImageView postImage;
    public TextView postLike;
    public TextView postComment;
    public ImageView gifImage;
    public ImageView BtnPostMenu;
    private static final int POST_TEXT_MAX_LINES = 6;
    public ValueEventListener mLikeListener;
    public ValueEventListener mCommentListener;
    public DatabaseReference mPostRef;
    public ValueEventListener mPostListener;
    private final ImageView mLikeIcon;
    private PostClickListener mListener;

    public enum LikeStatus {LIKED, NOT_LIKED}

    private String authorUID;
    private String photoURL;
    private String postKey;
    private String currentStorageRef;
    private String postText;

    public PostHolder(View itemView) {
        super(itemView);
        postTitle = (TextView) itemView.findViewById(R.id.item_title);
        postImage = (ImageView) itemView.findViewById(R.id.item_icon);
        postLike = (TextView) itemView.findViewById(R.id.item_like);
        postComment = (TextView) itemView.findViewById(R.id.item_comment);
        mLikeIcon = (ImageView) itemView.findViewById(R.id.post_like_icon);
        BtnPostMenu = (ImageView) itemView.findViewById(R.id.post_menu_button);
        gifImage = (ImageView) itemView.findViewById(R.id.gif_image);

        itemView.findViewById(R.id.post_comment_icon).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mListener.showComments();
            }
        });

        mLikeIcon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mListener.toggleLike();
            }
        });

        BtnPostMenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showPopup(v);
            }
        });

    }

    public void setPhoto(String url, int width, int height, String isAnimated) {


        GlideUtil.loadImage(url, postImage, width, height, isAnimated, gifImage);
    }

    public void getAuthor(String author) {

        if (author != null) {
            authorUID = author;
        }
    }

    public void getStorageRef(String storageRef) {

        if (storageRef != null) {
            currentStorageRef = storageRef;
        }
    }

    public void getPhotoURL(String picURL) {

        if (picURL != null) {
            photoURL = picURL;
        }
    }

    public void getKey(String key) {

        if (key != null) {
            postKey = key;
        }
    }

    public void getText(String pText) {

        if (pText != null) {
            postText = pText;
        }
    }

    public void setText(final String text) {
        if (text == null || text.isEmpty()) {
            postTitle.setVisibility(View.GONE);
            return;
        } else {
            postTitle.setVisibility(View.VISIBLE);
            postTitle.setText(text);
            postTitle.setMaxLines(POST_TEXT_MAX_LINES);
            postTitle.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if (postTitle.length() == POST_TEXT_MAX_LINES) {
                        postTitle.setMaxLines(Integer.MAX_VALUE);
                    } else {
                        postTitle.setMaxLines(POST_TEXT_MAX_LINES);
                    }
                }
            });
        }
    }

    public void setNumLikes(long numLikes) {
        String suffix = numLikes == 1 ? " like" : " likes";
        postLike.setText(numLikes + suffix);
    }

    public void setNumComments(long numComments) {
        String suffix = numComments == 1 ? " comment" : " comments";
        postComment.setText(numComments + suffix);
    }

    public void setLikeStatus(LikeStatus status, Context context) {
        mLikeIcon.setImageDrawable(ContextCompat.getDrawable(context,
                status == LikeStatus.LIKED ? R.drawable.heart_full : R.drawable.heart_empty));
    }

    public void setPostClickListener(PostClickListener listener) {
        mListener = listener;
    }

    public interface PostClickListener {
        void showComments();

        void toggleLike();
    }

    public void showPopup(final View v) {

        final String currentUID = FirebaseUtil.getCurrentUserId();

        if (authorUID.equals(currentUID)) {

            PopupMenu popup = new PopupMenu(v.getContext(), v);
            MenuInflater inflater = popup.getMenuInflater();
            inflater.inflate(R.menu.own_post_menu_popup, popup.getMenu());

            popup.getMenu().findItem(R.id.action_edit).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    showChangeLangDialog(v);
                    return false;
                }
            });

            popup.getMenu().findItem(R.id.action_delete).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {

                    FirebaseStorage storage = FirebaseStorage.getInstance();
                    StorageReference storageRef = storage.getReferenceFromUrl(photoURL);

                    storageRef.delete().addOnSuccessListener(new OnSuccessListener() {
                        @Override
                        public void onSuccess(Object o) {
                            Map<String, Object> childUpdates = new HashMap<>();

                            childUpdates.put("posts/" + postKey, null);
                            childUpdates.put("comments/" + postKey, null);
                            childUpdates.put("likes/" + postKey, null);
                            childUpdates.put("userNotifications/" + currentUID + "/" + postKey, null);
                            childUpdates.put("people/" + currentUID + "/" + "posts/" + postKey, null);
                            childUpdates.put("postCategory/car/" + postKey, null);
                            childUpdates.put("postCategory/funny/" + postKey, null);
                            childUpdates.put("postCategory/gaming/" + postKey, null);
                            childUpdates.put("postCategory/girl/" + postKey, null);

                            FirebaseUtil.getBaseRef().updateChildren(childUpdates);
                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            // Uh-oh, an error occurred!
                        }
                    });

                    return false;
                }
            });

            popup.show();

        } else {

            PopupMenu popup = new PopupMenu(v.getContext(), v);
            MenuInflater inflater = popup.getMenuInflater();
            inflater.inflate(R.menu.post_menu_popup, popup.getMenu());

            popup.getMenu().findItem(R.id.action_report).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    Toast.makeText(v.getContext(), "Reported,,,", Toast.LENGTH_SHORT).show();
                    return false;
                }
            });

            popup.show();
        }
    }

    public void showChangeLangDialog(View v) {
        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(v.getContext());
        LayoutInflater inflater = (LayoutInflater) v.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);;
        final View dialogView = inflater.inflate(R.layout.custom_dialog, null);
        dialogBuilder.setView(dialogView);

        final EditText edt = (EditText) dialogView.findViewById(R.id.edit1);
        edt.setText(postText);

        dialogBuilder.setTitle("Custom dialog");
        dialogBuilder.setMessage("Enter text below");
        dialogBuilder.setPositiveButton("Done", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                //do something with edt.getText().toString();

                Map<String, Object> childUpdates = new HashMap<>();

                childUpdates.put("text", edt.getText().toString());

                FirebaseUtil.getPostsRef().child(postKey).updateChildren(childUpdates);
            }
        });
        dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                //pass
            }
        });
        AlertDialog b = dialogBuilder.create();
        b.show();
    }

}

PostDialogFragment.java

public class PostDialogFragment extends DialogFragment {
    private static final String TAG = MainActivity.class.getSimpleName();

    private String postID = null;
    private OnPostSelectedListener mListener;
    private RecyclerView mRecyclerView;
    private RecyclerView.Adapter<PostHolder> mAdapter;

    public PostDialogFragment() {
        // Required empty public constructor
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_post_dialog, container, false);
        getDialog().setTitle("Post");

        postID = getArguments().getString("postID");

        mRecyclerView = (RecyclerView) rootView.findViewById(R.id.postRecyclerView);

        return rootView;
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
        linearLayoutManager.setReverseLayout(true);
        linearLayoutManager.setStackFromEnd(true);
        mRecyclerView.setLayoutManager(linearLayoutManager);

        final List<String> postPaths = new ArrayList<>();
        postPaths.add(postID);

        mAdapter = new FirebasePostQueryAdapter(postPaths,
                new FirebasePostQueryAdapter.OnSetupViewListener() {
                    @Override
                    public void onSetupView(PostHolder holder, Post post, int position, String postKey) {
                        setupPost(holder, post, position, postKey);
                    }
                });
        mRecyclerView.setAdapter(mAdapter);
    }

    private void setupPost(final PostHolder postViewHolder, final Post post, final int position, final String inPostKey) {
        postViewHolder.setPhoto(post.getFull_url(), post.getImageWidth(), post.getImageHeight(), post.getIsAnimated());
        postViewHolder.setText(post.getText());
        postViewHolder.getAuthor(post.getAuthor().getUid());
        postViewHolder.getPhotoURL(post.getFull_url());
        postViewHolder.getStorageRef(getString(R.string.google_storage_bucket));
        postViewHolder.getText(post.getText());

        final String postKey;
        if (mAdapter instanceof FirebaseRecyclerAdapter) {
            postKey = ((FirebaseRecyclerAdapter) mAdapter).getRef(position).getKey();
            postViewHolder.getKey(((FirebaseRecyclerAdapter) mAdapter).getRef(position).getKey());
        } else {
            postKey = inPostKey;
        }

        ValueEventListener likeListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                postViewHolder.setNumLikes(dataSnapshot.getChildrenCount());
                if (dataSnapshot.hasChild(FirebaseUtil.getCurrentUserId())) {
                    postViewHolder.setLikeStatus(PostHolder.LikeStatus.LIKED, getActivity());
                } else {
                    postViewHolder.setLikeStatus(PostHolder.LikeStatus.NOT_LIKED, getActivity());
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        };
        FirebaseUtil.getLikesRef().child(postKey).addValueEventListener(likeListener);
        postViewHolder.mLikeListener = likeListener;

        ValueEventListener commentListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                postViewHolder.setNumComments(dataSnapshot.getChildrenCount());
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        };
        FirebaseUtil.getCommentsRef().child(postKey).addValueEventListener(commentListener);
        postViewHolder.mCommentListener = commentListener;

        postViewHolder.setPostClickListener(new PostHolder.PostClickListener() {
            @Override
            public void showComments() {
                Log.d(TAG, "Comment position: " + position);
                mListener.onPostComment(postKey);
            }

            @Override
            public void toggleLike() {
                Log.d(TAG, "Like position: " + position);
                mListener.onPostLike(postKey);
            }
        });
    }

    public interface OnPostSelectedListener {
        void onPostComment(String postKey);

        void onPostLike(String postKey);
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnPostSelectedListener) {
            mListener = (OnPostSelectedListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnPostSelectedListener");
        }
    }

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

}

HomeActivity.java

public class HomeActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, PostFragment.OnPostSelectedListener, PostDialogFragment.OnPostSelectedListener, UploadMethodDialogFragment.OnImageSelectedListener {

    private AlertDialog userDialog;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        viewPager = (ViewPager) findViewById(R.id.viewPager);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar);
        setSupportActionBar(toolbar);


        FeedsPagerAdapter adapter = new FeedsPagerAdapter(getSupportFragmentManager());
        adapter.addFragment(PostFragment.newInstance(PostFragment.TYPE_NEW), "NEW");
        adapter.addFragment(PostFragment.newInstance(PostFragment.TYPE_CATEGORY), "CATEGORY");
        adapter.addFragment(PostFragment.newInstance(PostFragment.TYPE_NOTIFICATION), "NOTIFICATIONS");
        viewPager.setAdapter(adapter);
        viewPager.setCurrentItem(0);
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout);
        tabLayout.setupWithViewPager(viewPager);

        tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
        View header = navigationView.getHeaderView(0);
        TextView navName = (TextView) header.findViewById(R.id.nav_header_name);
        TextView navEmail = (TextView) header.findViewById(R.id.nav_header_email);
        ImageView navProfilePicture = (ImageView) header.findViewById(R.id.nav_profile_picture);

        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        if (user != null) {
            // Name, email address, and profile photo Url
            String user_name = user.getDisplayName();
            String user_email = user.getEmail();
            Uri pictureURL = user.getPhotoUrl();

            navName.setText("" + user_name);
            navEmail.setText("" + user_email);
            Glide
                    .with(getApplicationContext())
                    .load(pictureURL)
                    .into(navProfilePicture);
        }


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.

        int id = item.getItemId();

        return super.onOptionsItemSelected(item);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_camera) {
            // Handle the camera action
            viewPager.setCurrentItem(0);

        } else if (id == R.id.nav_gallery) {
            viewPager.setCurrentItem(1);

        } else if (id == R.id.nav_slideshow) {

        } else if (id == R.id.nav_manage) {

        } else if (id == R.id.nav_share) {

        } else if (id == R.id.nav_send) {

        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }

    class FeedsPagerAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();
        private final List<String> mFragmentTitleList = new ArrayList<>();

        public FeedsPagerAdapter(android.support.v4.app.FragmentManager manager) {
            super(manager);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }

        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
            mFragmentTitleList.add(title);
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return mFragmentTitleList.get(position);
        }
    }

    @Override
    public void onPostComment(String postKey) {

        if (postKey == null) {
            showAlertDialog("无法连接",
                    "Key : " + postKey, false);
        } else {
            android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
            CommentFragment um = new CommentFragment();

            Bundle args = new Bundle();
            args.putString("postKey", postKey);
            um.setArguments(args);
            um.show(fm, "Comment");
        }

    }

    @Override
    public void onPostLike(final String postKey) {
        final String userKey = FirebaseUtil.getCurrentUserId();
        final DatabaseReference postLikesRef = FirebaseUtil.getLikesRef();
        postLikesRef.child(postKey).child(userKey).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    // User already liked this post, so we toggle like off.
                    postLikesRef.child(postKey).child(userKey).removeValue();
                } else {
                    postLikesRef.child(postKey).child(userKey).setValue(ServerValue.TIMESTAMP);
                }
            }

            @Override
            public void onCancelled(DatabaseError firebaseError) {

            }
        });
    }

    @Override
    public void onUpdateNotification(final String postKey) {
        final String userKey = FirebaseUtil.getCurrentUserId();
        final DatabaseReference notificationRef = FirebaseUtil.getUserNotificationsRef();
        notificationRef.child(userKey).child(postKey).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    HashMap<String, Object> result = new HashMap<>();
                    result.put("status", false);
                    result.put("count", 0L);
                    notificationRef.child(userKey).child(postKey).updateChildren(result);
                }
            }

            @Override
            public void onCancelled(DatabaseError firebaseError) {

            }
        });
    }

    @Override
    public void onPostOpenDialog(final String postKey) {
        Bundle bundle = new Bundle();
        bundle.putString("postID", postKey);
        //set Fragment class Arguments
        PostDialogFragment fragObj = new PostDialogFragment();
        fragObj.setArguments(bundle);
        android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
        fragObj.show(fm, "Post Fragment");
    }

    public void onPicSelected(String filePath) {
        if(filePath!=null){
            Bundle bundle = new Bundle();
            bundle.putString("filePath", filePath);
            //set Fragment class Arguments
            UploadPictureDialogFragment fragObj = new UploadPictureDialogFragment();
            fragObj.setArguments(bundle);
            android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
            fragObj.show(fm, "上载图片");
        }
    }

    public void userDetails(MenuItem item) {

        // [START subscribe_topics]
        FirebaseMessaging.getInstance().subscribeToTopic("6biC3YfNUiWpHqmasa4O74KPWwC2");
        // [END subscribe_topics]

        // Log and toast
        String msg = "Subscribed to news topic";
        Log.d("Subscribe", msg);
        Toast.makeText(HomeActivity.this, msg, Toast.LENGTH_SHORT).show();

    }

    public void upload_method(MenuItem item) {
        android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
        UploadMethodDialogFragment um = new UploadMethodDialogFragment();
        um.show(fm, "Upload Method");
    }

    private void showAlertDialog(String title, String body, Boolean status) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle(title).setMessage(body).setNeutralButton("好的", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                try {
                    userDialog.dismiss();
                } catch (Exception e) {
                    //
                }
            }
        });
        userDialog = builder.create();
        userDialog.show();
    }

    @Override
    public void onBackPressed() {
        viewPager.setCurrentItem(0);
    }
}

我也上传了gif图片,以便更好地理解

应用崩溃

高拉夫·乔汉(Gaurav Chauhan)

context提供给getDrawable()为空。这意味着getActivity()可能返回null。为了避免这种情况,将活动上下文保存在onAttach()片段方法中,然后再使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击按钮后,应用程序崩溃

来自分类Dev

输入密码后单击按钮后应用程序崩溃

来自分类Dev

ImageView使应用程序崩溃

来自分类Dev

单击按钮后,Android Studio应用程序不断崩溃

来自分类Dev

单击“显示应用程序”按钮后 Ubuntu 崩溃

来自分类Dev

单击按钮后我的应用程序崩溃

来自分类Dev

应用程序因更改ImageView而崩溃

来自分类Dev

ImageView正在崩溃应用程序

来自分类Dev

添加ImageView时崩溃的应用程序

来自分类Dev

ImageView 导致应用程序崩溃

来自分类Dev

单击应用程序图标时,应用程序崩溃

来自分类Dev

Android按钮单击崩溃应用程序

来自分类Dev

单击按钮时应用程序崩溃

来自分类Dev

UIButton单击使应用程序崩溃

来自分类Dev

SWIFT单击按钮应用程序崩溃

来自分类Dev

Proguard后Android应用程序崩溃

来自分类Dev

首次启动后应用程序崩溃

来自分类Dev

onResume后应用程序崩溃

来自分类Dev

显示通知后崩溃的应用程序

来自分类Dev

出现UIImagePickerController后,应用程序崩溃

来自分类Dev

首次启动后应用程序崩溃

来自分类Dev

拍照后应用程序崩溃

来自分类Dev

添加editText后应用程序崩溃

来自分类Dev

主题更新后应用程序崩溃

来自分类Dev

为什么在选择图像应用程序后单击“选择图像”按钮会崩溃?

来自分类Dev

我在对话框片段中单击按钮后,应用程序立即崩溃

来自分类Dev

单击(按钮)三后,通过 Intent 应用程序将 EditText 整数传递给 TextView 崩溃

来自分类Dev

异常后地图崩溃导致应用程序崩溃

来自分类Dev

单击选项菜单中的项目,应用程序崩溃