如何在SDK Android中使用inflater显示imageView和textView

时间:2013-10-08 18:24:16

标签: android android-layout sdk bitmap layout-inflater

嗨,当我运行这个时,我得到一个黑色的应用程序。我从一个Activity链接到另一个Activity并执行此操作:

CODE:

public static ImageView display; 
private static LayoutInflater inflater=null;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View vi = inflater.inflate(R.layout.activity_book, null);
    display = (ImageView) vi.findViewById(R.id.imageba);
    display.setImageBitmap(imageLoader.getBitmap(data.get(position)));
    text=(TextView)vi.findViewById(R.id.textba);
    text.setText("Titel:");
    setContentView(R.layout.activity_book);
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageba"
            android:layout_width="100dip"
            android:layout_height="111dp"
            android:layout_weight="250.17"
            android:scaleType="centerCrop"
            android:src="@drawable/stub" />

        <TextView
            android:id="@+id/textba"
            android:layout_width="226dp"
            android:layout_height="match_parent"
            android:layout_marginLeft="10dip"
            android:layout_weight="98.53"
            android:textColor="#FFFFFF"
            android:textSize="15dip" />

我只想显示文本和我在textView和imageView中的位图。

1 个答案:

答案 0 :(得分:0)

setContentView为您完成所有通胀魔法。一旦您致电setContentView,您的视图将会被充气并显示,您可以使用findViewById从那里检索您的ImageView和TextView

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);   

    setContentView(R.layout.activity_book);
    display = (ImageView) findViewById(R.id.imageba);
    display.setImageBitmap(imageLoader.getBitmap(data.get(position)));
    text= (TextView) findViewById(R.id.textba);
    text.setText("Titel:");
}

你实际上是在膨胀第二个视图并修改它的值但从未真正显示它。