2012-07-02 144 views
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的背景下不可見的,這樣我可以看到我的文字和圖像背後的背景是什麼?

+1

[看看這個Tuts](http://samir-mangroliya.blogspot.in/p/android-image-listview.html) –

+0

看看samir的樣品,這就是你需要的一切,再加上你已經得到的樣品代碼 – Tancho

+0

我已經讀過像這樣的寬裕,但它不工作... –

回答

0

你應該通過的ArrayAdapter constructour您Frage數據集,或者至少, ovveride ArrayAdapter.getCount(),並讓它返回的項目在ArrayList<Frage> f

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

here的文檔數量爲getCount()

+0

謝謝,爲我工作:) –

相關問題