ниже мой код для customlist.
package com.demo.list;
import java.util.ArrayList;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyCustomListView extends ListActivity {
private ArrayList<String> m_orders=null;
private OrderAdapter m_adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_orders = new ArrayList<String>();
for(int i=0;i<10;i++)
{
m_orders.add("Android List");
}
this.m_adapter = new OrderAdapter(this, R.layout.row, m_orders);
setListAdapter(this.m_adapter);
}
private class OrderAdapter extends BaseAdapter
{
private ArrayList<String> items;
public OrderAdapter(Context context,int id,ArrayList<String> items)
{
super();
this.items=items;
}
public View getView(int position,View convertView,ViewGroup parent)
{
View view=convertView;
if(view==null)
{
LayoutInflater inflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view=inflater.inflate(R.layout.row,null);
}
String string=items.get(position);
if(string!=null)
{
TextView t1=(TextView)findViewById(R.id.toptext);
TextView t2=(TextView)findViewById(R.id.bottomtext);
ImageView imageview=(ImageView)findViewById(R.id.image);
if(t1!=null)
{
t1.setText("Name:-"+string.toString());
}
if(t2!=null)
{
t2.setText("Status:-"+string.toString());
}
if(imageview!=null)
{
imageview.setImageResource(R.drawable.icon);
}
}
return view;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 10;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
}
}
, а вот мой row.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="?android:attr/listPreferredItemHeight">
<ImageView android:id="@+id/image" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:layout_marginRight="6dip">
</ImageView>
<LinearLayout android:orientation="vertical"
android:layout_width="0dip" android:layout_height="fill_parent"
android:layout_weight="1">
<TextView android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"/>
<TextView android:id="@+id/bottomtext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:singleLine="true"
android:ellipsize="marquee"/>
</LinearLayout>
</LinearLayout
Моя проблема в том, что я получаю только первый элемент списка, хотя ядобавили 10 элементов в arraylist.Может кто-нибудь сказать мне, что не так с этим кодом.