各位大神大家好 这里是自学andriodstudio的小白一枚
第一次发帖希望能得到大家的帮助~
今天自己写了一个程序 想通过点击activity_main.xml界面上的button实现改变second界面上scr的图片
但是始终失败 求问问题出在什么地方activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >    <ImageView
        android:id="@+id/image1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:src="@drawable/pic1">
    </ImageView>
    <Button
        android:id="@+id/start_screen_Saver"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" /></RelativeLayout>second.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >    <ImageView
        android:id="@+id/Idle_time_LL"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:src="@drawable/pic2">
    </ImageView></RelativeLayout>
MainActivity
package com.example.testactivity85;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;public class MainActivity extends AppCompatActivity {    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.start_screen_Saver);
        button.setOnClickListener(new View.OnClickListener(){            @Override
            public void onClick(View view) {
                RelativeLayout relativeLayout = (RelativeLayout)getLayoutInflater().inflate(R.layout.second,null);
                ImageView image = (ImageView) relativeLayout.findViewById(R.id.Idle_time_LL) ;
                image.setImageResource(R.drawable.pic3);
                Intent intent = new Intent(MainActivity.this,Second.class);
                startActivity(intent);
            }
        });
    }
}
Second
package com.example.testactivity85;import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;/**
 * Created by Administrator on 2017/8/5.
 */public class Second extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);
    }
}
想实现的效果是将second中ImageView的scr由初始设置的pic2改为pic3
设置断点debug mainactivity中onClick时
image.setImageResource(R.drawable.pic3);显示已经将mDrawable成功改为pic
但显示出来的还是pic2。实在想不通是为什么 希望有大神指点一下 参加比赛有些急用这段代码 拜托拜托~~

解决方案 »

  1.   

    你不是想要startActivity到second这个界面吗?怎么还去inflate这个second界面,逻辑没看懂啊!
      

  2.   

    你需要在跳转的时候传个参数,在second这个界面定义个全局变量赋初值并接收intent传过来的参数,判断这个全局变量是否是接收到的,是的话改变就行了
      

  3.   

    你可以在跳转的时候 传个imag的参数(image的路径等。。)到activity2. 在activity中得到这个参数,再获取image对象并且给它赋值。 而不是在activity1中直接改变布局中的image  source。因为这样在activity2中加载的话,还是得到布局中的image。跟你跳转之前的设置没有任何关系。
      

  4.   

    布局文件中这里没有看到pic3啊,只有pic1和pic2.