繁体   English   中英

使用android中的putextra和getextra方法从第二个活动转到第一个活动时图像视图的可见性消失了

[英]visibility gone of image view when come from 2nd activity to 1st activity using putextra and getextra method in android

大家。 我是android新手。 我在android中创建两个活动,第一个活动有两个图像视图和一个按钮。 第二活动有一个按钮。 当我参加第二次活动,然后从第二次活动中离开。 第一项活动的一个图像视图应该没有可见性。 我怎样才能做到这一点。

这是我的代码

Activitymain.xml


  <ImageView
        android:id="@+id/1stimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/2ndimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="go to second activity" />


   mainactivity.java



     ImageView imageView1, imageView2;
            Button btn;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                imageView1 = (ImageView) findViewById(R.id.1stimage);
                imageView2 = (ImageView) findViewById(R.id.2ndimage);
                btn = (Button) findViewById(R.id.btn1);
                btn.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View arg0) {

                        Intent Firstintent= new Intent(MainActivity.this,SecondActivity.class);
                        startActivity(Firstintent);

                    }
                });

            }
secondactivity.xml

    <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="go to 1st activity" />

secondactivity.java

    Button btn;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);
            btn = (Button) findViewById(R.id.btn2);
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                    Intent SecondIntent = new Intent(SecondActivity.this,
                            MainActivity.class);
                    SecondActivity.this.startActivity(SecondIntent);
                    SecondActivity.this.finishActivity();

                }
            });
        }

请帮我

使用putextra(tag, some variable to use in mainActivity)Bundle extras = getIntent().getExtras(); extras.get[type of variable](tag) Bundle extras = getIntent().getExtras(); extras.get[type of variable](tag)传递一个变量(可能是布尔值)来告诉onCreate()显示或不显示图片。

编辑:这是一种实现它的方法:在第一个活动中:

1)检查是否有其他功能(如果已加载第二个活动/则为真)

2)如果(是){如果(加载了第一张照片){删除了第一张照片}否则,如果(没有第一张照片但加载了第二张照片){删除了第二张照片} ...对于要执行此操作的所有图片。

记住,您只需要在第二个活动中传递true / false(然后在被修改的第一个/一个中处理它)

Activitymain.xml


  <ImageView
        android:id="@+id/1stimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ImageView
        android:id="@+id/2ndimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="go to second activity" />


   mainactivity.java



     ImageView imageView1, imageView2;
            Button btn;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                imageView1 = (ImageView) findViewById(R.id.1stimage);
                imageView2 = (ImageView) findViewById(R.id.2ndimage);
                btn = (Button) findViewById(R.id.btn1);
                btn.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View arg0) {

                        Intent Firstintent= new Intent(MainActivity.this,SecondActivity.class);
                        startActivity(Firstintent);

                    }
                });
                Bundle extras = getIntent().getExtras();
                if(extras != null){
                   if(extras.getBoolean("isResult", false)){
                      imageView1.setVisability(View.GONE);
                   }
                }

            }
secondactivity.xml

    <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="go to 1st activity" />

secondactivity.java

    Button btn;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_second);
            btn = (Button) findViewById(R.id.btn2);
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                    Intent SecondIntent = new Intent(SecondActivity.this,
                            MainActivity.class);
                    SecondIntent.putExtra("isResult", true);
                    SecondActivity.this.startActivity(SecondIntent);
                    SecondActivity.this.finishActivity();

                }
            });
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM