android - 如何在按下按钮后更改不同 Activity 的 ImageView 可见性?

标签 android button imageview android-activity

我正在开发一个简单的 Android 游戏,分为多个级别。我希望当该关卡完成时,该关卡按钮(在关卡选择菜单上)旁边会出现一个复选图标(ImageView)。 按下按钮后就完成了一个关卡,如下(InsideLevelActivity):

    final EditText level1editText=(EditText)findViewById(R.id.level1editText);        
    Button level1completeButton=(Button)findViewById(R.id.level1completeButton);

    level1completeButton.setOnClickListener(new View.OnClickListener()
        public void onClick(View v)
        {
            final String edittext=level1editText.getText().toString();

            if(edittext.trim().equals("Complete level"))
             {   

              {
                Intent visible1 = new Intent();
                visible1.putExtra("iconvisible",0);
                startActivity(visible1);

                    {
                      LayoutInflater inflater = getLayoutInflater();
                      View view = inflater.inflate(R.layout.activity_level1completed,
                      (ViewGroup) findViewById(R.id.img11_toast));

                Toast toast = new Toast(Level1Activity.this);
                toast.setView(view);
                toast.show();

                { onBackPressed(); {

                        return;
                    }


            }   

            }
            else
            {
                    Toast.makeText(Level1Activity.this,
                    "Type Complete level.", Toast.LENGTH_LONG).show();
            }

然后返回到级别选择菜单 Activity 。我正在尝试以这种方式检索数据(LevelMenuActivity):

ImageView logocheckicon1=(ImageView)findViewById(R.id.logocheckicon1);
logocheckicon1.setVisibility(View.GONE);

Intent visible1 = getIntent();
int state = Integer.parseInt(visible1.getExtras().get("iconvisible").toString());
complete1.setVisibility(iconvisible);

过去几天我尝试了很多方法,包括 this one (how to pass data between two activities) 。我什至尝试使检查图标(ImageView)不可见,并使其再次可见 this way .

此外,每个已完成的关卡旁边都会出现相同的复选图标。是否可以仅使用一个 ImageView 来完成此任务(无需为同一可绘制对象创建 10 个不同的 ID)?

提前谢谢您。

编辑: 如果我不够清楚,我深表歉意。我认为有某种方法可以更改位于 MainActivity 上的图像的可见性,并且 Intent 在另一个 Activity 的按钮内。 谢谢您的回答。

EDIT2:添加了另一次不成功尝试的代码。

最佳答案

将图像从一个 Activity 传递到另一 Activity 。首先将图像转换为位图,然后进行 base64,然后转换字符串,然后通过 Intent 传递它或保存共享首选项。

  public boolean saveImage(Context context, Bitmap realImage) {

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
         realImage.compress(Bitmap.CompressFormat.JPEG, 100, baos);   
         byte[] b = baos.toByteArray(); 

        String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);

    }

然后通过 Intent 在另一个 Activity 中获取此图像或从共享首选项中获取

public Bitmap getFacebookImageBitmap(Context context)
{
     Bitmap bitmap = null;

     String saveimage=from intent or share-preference string.
     if( !saveimage.equalsIgnoreCase("") ){
            byte[] b = Base64.decode(saveimage, Base64.DEFAULT);
             bitmap = BitmapFactory.decodeByteArray(b, 0, b.length);

        }
    return bitmap;
}

谢谢

关于android - 如何在按下按钮后更改不同 Activity 的 ImageView 可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042606/

相关文章:

java - 在android中随机执行一个按钮的点击

android - 使用 onClick 按钮更改 EditText 的值?

android - 从 typedarray 获取资源 ID

android - 增加 AsyncTask 堆栈大小?

安卓 canvas.scale(-1,1)

android - 有没有办法通过我自己的短语进行语音激活?

css - 单击关闭按钮时,我的 Bootstrap 警报框不会关闭

android - android :contentDescription ="@null" and tools:ignore ="ContentDescription"?有什么区别使用android :importantForAccessibility ="no"?

使 ImageView 运行的 Android 缩放动画

java - 无法检查 ImageView 是否包含图像