为了账号安全,请及时绑定邮箱和手机立即绑定

如果为空,则显示 imageview onclick 并在没有 imageview 的情况下发布

如果为空,则显示 imageview onclick 并在没有 imageview 的情况下发布

弑天下 2023-05-10 13:54:04
我正在为一个博客应用程序编写代码,该应用程序将仅发布文本或在其下方发布文本和图像。我在布局中定义了一个 editText 和一个 imageView。我想要那个,除非我点击图库按钮,否则图像视图不会出现。我有意尝试过,但添加活动会使应用程序变得太重。 private ImageButton newPostImgbtn; private ImageView newPostImage; private EditText newPostDesc; private Button newPostBtn; @Override protected void onCreate(Bundle savedInstanceState) {    setTheme(R.style.HomeTheme);    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_post);    newPostImage = findViewById(R.id.imageView);    newPostImgbtn = findViewById(R.id.imageButton2);    newPostDesc = findViewById(R.id.editText);    newPostBtn = findViewById(R.id.button2);}我通过在图库 newimagebtn 的按钮上放置一个 onclick 侦听器来创建新的活动 imageactivity 以仅添加图像,但我不想在另一个活动中执行此操作。public void post(View v) { Intent intent = new Intent(postActivity.this, imageActivity.class); startActivity(intent);}此外,如果用户单击图库按钮,但未选择任何图像,则单击发布按钮时,只会出现文本,而不会出现空白图像视图区域或错误,因为该字段为空。请帮我。
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

首先,您必须获得用户的许可并打开图库意图。当您找到图像 url 时,您需要使用像 glide 这样的图像加载器库来显示它。单击按钮时,您需要做的最后一件事是检查图像 url 是否为空。如果您需要进一步的帮助,请告诉我。



查看完整回答
反对 回复 2023-05-10
?
PIPIONE

TA贡献1829条经验 获得超9个赞

在 onCreate 方法中添加


newPostImgbtn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {


                getImageFromAlbum();

            }

        });

在你的活动课上


private void getImageFromAlbum(){

    try{

        Intent i = new Intent(Intent.ACTION_PICK,

                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

        startActivityForResult(i, RESULT_LOAD_IMAGE);

    }catch(Exception exp){

        Log.i("Error",exp.toString());

    }

}

将此方法添加到您的活动类


    Override

        protected void onActivityResult(int reqCode, int resultCode, Intent data) {

            super.onActivityResult(reqCode, resultCode, data);



            if (resultCode == RESULT_OK) {

                try {

                    final Uri imageUri = data.getData();

                    final InputStream imageStream = getContentResolver().openInputStream(imageUri);

                    final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);

                    newPostImage .setImageBitmap(selectedImage);

                } catch (FileNotFoundException e) {

                    e.printStackTrace();

                    Toast.makeText(PostImage.this, "Something went wrong", Toast.LENGTH_LONG).show();

                }


            }else {

//image not selected so do what you want when image is not selected      

}


查看完整回答
反对 回复 2023-05-10
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信