无法在活动的“包含”布局中设置图像视图的来源

时间:2013-03-22 06:22:12

标签: android include android-imageview

我已经创建了两个XML布局和Activity。

  1. XML文件A包含指向活动A的图像视图的布局。
  2. 一个XML文件B,其中包括XML A并且使活动B扩展了Acitivity A
    在Acivity A oncreate中,我设置了XML文件A的图像源。但它没有设置图像源,也没有收到任何错误。 Plz帮帮我
  3. 这是我的代码
    Xml A

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/MasterBaseLayOut"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    
    
            <ImageButton
                android:id="@+id/imagebutton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_alignParentLeft="true" />   
    </RelativeLayout>
    

    XML B

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    
    <include
        android:id="@+id/Master"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        layout="@layout/xmlA" />
        <Button
            android:id="@+id/btn1"
            android:onClick="btn1_onclick"
            android:text="@string/title_1"/>
    </RelativeLayout>  
    

    活动A

    public class ActivityA extends Activity{
    
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.XMLA);
        ImageButton img1 =(ImageButton)findViewById(R.id.imagebutton);
    
        img1.setBackgroundResource(R.drawable.imgtest);
    
    }
    }  
    

    活动B

    public class ActivityB extends ActivityA {
    
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.XmlB);
    
            }
    }
    

2 个答案:

答案 0 :(得分:0)

很难你没有代码,但我假设你没有在活动中获得活动B.So中的imageView B的onCreate()方法使用super关键字调用Activity A的onCreate,很可能你会得到带有源图像的imageview。

public void onCreate(Bundle b) {
super.onCreate(b);
}

答案 1 :(得分:0)

这就是你所拥有的:

ActivityA扩展了ActivityB

这应该是:

ActivityB扩展了ActivityA

另外,您应该考虑按“Ctrl + Shift + F”来格式化代码,只需要一点点提示。