0

这来自活动 myVenue.java

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my_venue);

    drawerListViewItems = getResources().getStringArray(R.array.items);
    drawerListView = (ListView) findViewById(R.id.left_drawer1);
    drawerListView.setAdapter(new ArrayAdapter<String>(this,
            R.layout.drawer_listview_item, drawerListViewItems));
    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout1);
    actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout,
            R.drawable.icon_css, R.string.drawer_open,
            R.string.drawer_close);

    drawerLayout.setDrawerListener(actionBarDrawerToggle);

    getActionBar().setDisplayHomeAsUpEnabled(true);

    drawerListView.setOnItemClickListener(new DrawerItemClickListener());

}

这来自layour activity_my_venue.xml

  <ListView 

    android:id="@+id/left_drawer1"
    android:layout_width="180dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:choiceMode="singleChoice"
    android:divider="#666"      
    android:dividerHeight="1dp"
    android:background="#333"
    android:paddingLeft="15sp"
    android:paddingRight="15sp"
    android:paddingTop="10dp"
    >

    </ListView>

任何人都可以教我如何为 ListView 上显示的每个项目添加一个图标,以及如何在 Listview 分隔符之间使其更大。

4

3 回答 3

0

将此 custom.xml 添加到 res/layout :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
    android:id="@+id/thumbnail"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="5dip" >

    <!-- Image icon sebelah kiri -->
    <ImageView
        android:id="@+id/picture_menu_on_listview"
        android:layout_width="50dip"
        android:layout_height="50dip" />
</LinearLayout>

<!-- label Menu Nomor -->

<TextView
    android:id="@+id/urutan_makanan_ayam_listview_label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/thumbnail"
    android:layout_toRightOf="@+id/thumbnail"
    android:text="Menu no : "
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold" />

<!-- nomor urutan -->

<TextView
    android:id="@+id/urutan_makanan_ayam_listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/urutan_makanan_ayam_listview_label"
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold"
     />

<!-- label nama makanan -->

<TextView
    android:id="@+id/nama_makanan_ayam_listview_label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/urutan_makanan_ayam_listview_label"
    android:layout_toRightOf="@+id/thumbnail"
    android:text="Menu : "
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold" />

<!-- menu makanan -->

<TextView
    android:id="@+id/nama_makanan_ayam_listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/urutan_makanan_ayam_listview"
    android:layout_toRightOf="@+id/nama_makanan_ayam_listview_label"
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold" />

<!-- label harga makanan -->

<TextView
    android:id="@+id/harga_makanan_ayam_listview_label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/nama_makanan_ayam_listview_label"
    android:layout_toRightOf="@+id/thumbnail"
    android:text="Harga : "
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold" />

<!-- harga makanan -->

<TextView
    android:id="@+id/harga_makanan_ayam_listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/nama_makanan_ayam_listview"
    android:layout_toRightOf="@+id/harga_makanan_ayam_listview_label"
    android:textColor="#040404"
    android:typeface="sans"
    android:textSize="12dip"
    android:textStyle="bold" />

<!-- Image icon sebelah kanan -->
<ImageView
    android:id="@+id/arrow_on_listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:padding="1dp" />

<!-- ratingbar icon sebelah kanan -->
<RatingBar 
    android:id="@+id/rating_makanan_ayam"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/arrow_on_listview"
    android:numStars="5"
    android:rating="4"
    android:stepSize="1"
    style="?android:attr/ratingBarStyleSmall"
    android:isIndicator="true"
    />

  <!-- android:padding="5dp" -->

  </RelativeLayout>

将此添加到您 MainActivity.java :

public class MainActivity extends Activity implements OnClickListener {
String [] urutan_makanan_sotong;
String [] jenis_menu_sotong;
String [] price_menu_sotong;
TypedArray pic_menu;
BaseAdapter adapt;

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.left_drawer1);

    Resources r = getResources();       
    urutan_makanan_sotong = r.getStringArray(R.array.urutan_makanan_sotong);        
    jenis_menu_sotong = r.getStringArray(R.array.jenis_menu_sotong);        
    price_menu_sotong = r.getStringArray(R.array.price_menu_sotong);        
    pic_menu = r.obtainTypedArray(R.array.pic_menu_sotong);
            final ListView daftar_menu_sotong = 
            (ListView) findViewById(R.id.listview_menu_ayam);
    adapt = new ListViewAdapter(this, urutan_makanan_sotong, 
             jenis_menu_sotong, price_menu_sotong, pic_menu);
    daftar_menu_sotong.setAdapter(adapt);
     }

        public class ListViewAdapter extends BaseAdapter {

    String [] urutan;
    String [] jns_menu_sotong;
    String [] price_sotong;
    TypedArray picture_menu;
    LayoutInflater inflater;
    Context context;

    public ListViewAdapter(Context context, String [] urutan_makanan_sotong,
             String [] jenis_menu_sotong, String [] price_menu_sotong, 
             TypedArray pic_menu){
        this.context = context;
        this.urutan = urutan_makanan_sotong;
        this.jns_menu_sotong = jenis_menu_sotong;
        this.price_sotong = price_menu_sotong;
        this.picture_menu = pic_menu;
    }

    @Override
    public int getCount() {

        return jenis_menu_sotong.length;
    }

    @Override
    public Object getItem(int position) {

        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getView(int pos, View convertView, ViewGroup parent) {

        TextView txt_urutan;
        TextView txt_menu;
        TextView txt_price;
        ImageView img_menu;
        ImageView img_arrow;

        inflater = (LayoutInflater)context.getSystemService(
                    Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.custom, parent, false);

        img_menu = (ImageView)convertView.findViewById(
                    R.id.picture_menu_on_listview);
        txt_urutan = (TextView)convertView.findViewById(
                    R.id.urutan_makanan_ayam_listview);
        txt_menu = (TextView)convertView.findViewById(
                    R.id.nama_makanan_ayam_listview);
        txt_price = (TextView)convertView.findViewById(
                    R.id.harga_makanan_ayam_listview);
        img_arrow = (ImageView)convertView.findViewById(
                    R.id.arrow_on_listview);

        txt_urutan.setText(urutan_makanan_sotong[pos]);
        txt_menu.setText(jenis_menu_sotong[pos]);
        txt_price.setText(price_menu_sotong[pos]);
        img_menu.setImageResource(pic_menu.getResourceId(pos, -1));
        img_arrow.setImageResource(R.drawable.nav_icon);

        return convertView;
    }
}
于 2013-11-14T10:30:32.503 回答
0

http://theopentutorials.com/tutorials/android/listview/android-custom-listview-with-image-and-text-using-baseadapter/

you need to use custom BaseAdapter to do so.try the above link it will help you.
于 2013-11-14T10:10:30.693 回答
0

您必须创建一个适配器,并将其设置为您的列表视图。看看这里:http: //developer.android.com/guide/topics/ui/declaring-layout.html#AdapterViews

于 2013-11-14T10:20:18.063 回答