0

我正在开发一个应用程序,它显示一个包含 30 个项目的 ListView。在每一行中,应该有一个文本和一个图像。我搜索不同的教程,但不幸的是,它们都不适合我。所以我请你看一下我的代码并告诉我那里出了什么问题,因为当我启动应用程序时,ListView 是空的。

    mainActivity.java:

    setContentView(R.layout.auswertung);
    ListView list = (ListView) findViewById(R.id.listView1);
    list.setAdapter(new MyListAdapter(this, fragen));




    MyListAdapter.java

    import java.util.ArrayList;

    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;

    public class MyListAdapter extends ArrayAdapter<Frage>{
        private final Context context;
        private ArrayList<Frage> fragen;

        public MyListAdapter(Context context, ArrayList<Frage> f) {
            super(context, R.layout.reihe);
            this.context = context;
            fragen = f;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View rowView = convertView;

            if(rowView == null)
            {
                LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                rowView = inflater.inflate(R.layout.reihe, parent, false);
            }


            TextView textView = (TextView) rowView.findViewById(R.id.textView4);
            ImageView imageView = (ImageView) rowView.findViewById(R.id.img1);
            textView.setText("Frage " + (position+1));

            if (fragen.get(position).getRichtig()==true)
            {
                imageView.setImageResource(R.drawable.richtig);
            }
            else
            {
                imageView.setImageResource(R.drawable.falsch);
            }

            return rowView;
        }
    }





    auswertung.xml
    <?xml version="1.0" encoding="utf-8"?>


    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="0.96"
        android:background="@drawable/hintergrund"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="35dp"
            android:layout_marginTop="19dp"
            android:text="Auswertung"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textColor="#000000" />


            <ListView
            android:id="@+id/listView1"
            android:layout_width="fill_parent"
            android:layout_height="460dp" 
            android:layout_marginTop="60dp">

            </ListView>

    </RelativeLayout>

    reihe.xml
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:paddingTop="4dip"
     android:paddingBottom="6dip"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">

     <TextView android:id="@+id/textView4"
         android:layout_width="0dip"
         android:layout_height="wrap_content"
         android:layout_weight="5"
         android:textSize="16dp"
         android:textColor="#000000" />



     <ImageView
         android:id="@+id/img1"
         android:layout_width="25dp"
         android:layout_height="25dp" />

</LinearLayout>

如您所见,我有一个背景图像,并且还想问您,如何使 ListView 的背景不可见,以便我可以看到文本和图像后面的背景?

4

1 回答 1

0

您应该通过ArrayAdapter构造您的Frage数据集,或者至少是 ovveride ArrayAdapter.getCount(),并让它返回其中的项目数ArrayList<Frage> f

int getCount() {
 return (f == null) ? 0 : f.size();
}

这里的文档getCount()

于 2012-07-02T17:35:27.603 回答