亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果為空,則顯示 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 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號