猿问

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

我正在为一个博客应用程序编写代码,该应用程序将仅发布文本或在其下方发布文本和图像。我在布局中定义了一个 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);}

此外,如果用户单击图库按钮,但未选择任何图像,则单击发布按钮时,只会出现文本,而不会出现空白图像视图区域或错误,因为该字段为空。请帮我。


弑天下
浏览 122回答 2
2回答

呼如林

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

PIPIONE

在 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      }
随时随地看视频慕课网APP

相关分类

Java
我要回答