![](/img/trans.png)
[英]Why is the If/Else statement not working at the second else if statement?
[英]Why else statement is not initializing?
我想在使圖像描述可見的同時隱藏Some ImageButton。 但是,如果語句未按預期運行,則為其他情況。
OnCreate:
ImageView thumbnail;
ImageButton addImage ,removeImage;
EditText description;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_write);
Log.d(TAG, "onCreate: Started");
thumbnail = findViewById(R.id.thumbnail);
addImage = findViewById(R.id.addImage);
removeImage = findViewById(R.id.removeImage);
description = findViewById(R.id.description);
setupToolbar();
setupBodyEditor();
addThumbnail();
}
addThumnail:
private void addThumbnail() {
if ( thumbnail.getDrawable()== null)
{
addImage.setVisibility(View.VISIBLE);
removeImage.setVisibility(View.GONE);
description.setVisibility(View.GONE);
}
else
{
addImage.setVisibility(View.GONE);
removeImage.setVisibility(View.VISIBLE);
description.setVisibility(View.VISIBLE);
}
thumbnail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
removeImage.setVisibility(View.VISIBLE);
addImage.setVisibility(View.GONE);
}
});
addImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"),5);
}
});
removeImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
thumbnail.setImageDrawable(null);
}
});
}
onActivityResult:
if (requestCode== 5 && resultCode == Activity.RESULT_OK && data != null && data.getData() != null)
{
try {
final Uri imageUri = data.getData();
final InputStream imageStream = getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
thumbnail.setImageBitmap(selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(mContext, "Something went wrong", Toast.LENGTH_LONG).show();
}
}
else if (resultCode == RESULT_CANCELED){
Toast.makeText(mContext, "No Image Selected",Toast.LENGTH_LONG).show();
}
嘗試對變量進行命名不同,但沒有任何效果。
即使Thumbnail ImageView包含圖像,它仍會顯示addImage按鈕,並且描述也不可見。
您需要在代碼中使用setImageDrawable 。 ImageView始終為null。
setImageDrawable(getResources().getDrawable(R.drawable.icon));
據我所知,添加圖像后(立即)不要更改按鈕的可見性。 僅當調用onCreate
方法時,更改才會應用。
按照Activity Lifecylce
如果這僅僅是做Activity
啟動(初始或之后的過程中已被殺死)。
要解決您的問題,您將必須觸發addImage
, removeImage
和description
元素的可見性更改以及縮略圖的設置(從onActivityResult
方法內部)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.