2016-01-03 20 views
0

我無法在textview邊顯示圖片,請檢查代碼並幫助我。如何在android eclipse中使用自定義listAdapter顯示圖像數組

$package com.example.skj; 
    import android.content.Context; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.support.v7.app.ActionBarActivity; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
    import android.widget.BaseAdapter; 
    import android.widget.ImageView; 
    import android.widget.ListView; 
    import android.widget.TextView; 

    public class Ring extends ActionBarActivity { 
    ListView ringlist; 
    TextView t1; 
    ImageView im; 
    String[] mobileArray = { "Android", "IPhone", "WindowsMobile", 
      "Blackberry", "WebOS", "Ubuntu", "Windows7" }; 
    Integer[] picArray = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, 
      R.drawable.pic4, R.drawable.pic5, R.drawable.pic6, R.drawable.pic7   
    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.ring); 
     ringlist = (ListView) findViewById(R.id.ringlist); 
     Intent i = getIntent(); 
     ringlist.setAdapter(new DemoAdapter(Ring.this)); 
    } 

    class DemoAdapter extends BaseAdapter { 

     Context mCon; 

     public DemoAdapter(Context context) { 
      this.mCon = context; 


     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
      return picArray.length; 
     } 

     @Override 
     public Object getItem(int position) { 
      // TODO Auto-generated method stub 
      return null; 
     } 

     @Override 
     public long getItemId(int position) { 
      return 0; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      LayoutInflater inflater; 
      View row = null; 
      if (row == null) { 
       inflater = (LayoutInflater) mCon 
         .getSystemService(mCon.LAYOUT_INFLATER_SERVICE); 
       row = inflater.inflate(R.layout.layout_ring, null, false); 
      } 
      t1 = (TextView) row.findViewById(R.id.text1); 
      t1.setText(mobileArray[position]); 
      im = (ImageView)row.findViewById(R.id.image); 
     im.setImageResource(picArray[position]); 
      return row; 
     } 

    } 

    } 

這是在ring.xml

This is layout_ring.xml: 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 

     <ImageView 
     android:id="@+id/image" 
     android:layout_width="35dp" 
     android:layout_height="35dp" 
     /> 
    <TextView 
     android:id="@+id/text1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 

</LinearLayout> 

這是由列表 這是ring.xml的佈局的列表視圖進行充氣的佈局:

<ListView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/ringlist"></ListView> 
</LinearLayout> 

I have been struggling for this ,any help would great.Thank you . 
+0

eclipse不再支持android的開發應用程序。你爲什麼不使用Android Studio? –

回答

0

使您的適配器layout_ring.xml如下所示:

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

     <ImageView 
     android:id="@+id/image" 
     android:layout_width="35dp" 
     android:layout_height="35dp" 
     android:layout_weight="0"/> 

     <TextView 
     android:id="@+id/text1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1"/> 

</LinearLayout> 
相關問題