2016-04-22 11 views
0

こんにちは私はちょうど左側に沿って画像の配列を追加することによって、私のカスタムリストビューを終了する必要があります。現在、画像を追加するだけで完璧に機能するテキストを追加しました。私はあなたがすでにテキストのために行ったのと同様の配列としてそれらを設定していると思いますが、それがどのように行われたかを見る必要があります。カスタムリストビューに画像を追加する

ListviewAdapter

public class ListViewAdapter extends ArrayAdapter<String> { 

String[] features={}; 
String[] clicks={}; 


Context c; 
LayoutInflater inflater; 




public ListViewAdapter(Context context, String[] features, String[] clicks) { 
    super(context, R.layout.custom_row, features); 

    this.c = context; 
    this.features = features; 
    this.clicks = clicks; 





} 

public class ViewHolder{ 

    TextView txtphone; 
    TextView txtcall; 


} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if(convertView == null){ 


     inflater= (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.custom_row, null); 
    } 

    final ViewHolder holder = new ViewHolder(); 


    holder.txtphone = (TextView) convertView.findViewById(R.id.txtphone); 
    holder.txtcall= (TextView) convertView.findViewById(R.id.txtcall); 


    holder.txtphone.setText(features[position]); 
    holder.txtcall.setText(clicks[position]); 


    return convertView; 


} 
} 

主な活動

String[] feature= {"Phone", "Email", "Website", "Opening Times"}; 
String[] click = {"click", "click", "click", "click", "click"}; 
int[] images ={R.drawable.ic_menu_gallery, R.drawable.ic_menu_send}; 

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



    contactUs = (ListView)findViewById(R.id.contactUsListView); 




    ListViewAdapter adapter = new ListViewAdapter(this,feature,click); 
    contactUs.setAdapter(adapter); 


    contactUs.setOnItemClickListener(new Itemlist()); 

} 

あなたは私が私の主な活動の先頭に2枚の画像を追加ちょうどに少しアドバイスを必要としている見ることができるようにそれを私のリストビューに適用する

+0

を次のようにアダプタを初期化するアダプタのコードを変更する必要があります? –

+0

このリンクを参照してください。その助けu..http://www.vogella.com/tutorials/AndroidListView/article.html –

答えて

0

まずcustom_rowのレイアウトにImageViewを追加する必要があります。 id:imgViewで追加したとします。あなたはListViewのアイテムと同じ量のイメージを持っているはずです。次のように今、あなたは

public class ListViewAdapter extends ArrayAdapter<String> { 

String[] features={}; 
String[] clicks={}; 
int[] images={}; 


Context c; 
LayoutInflater inflater; 




public ListViewAdapter(Context context, String[] features, String[] clicks, int[] images) { 
    super(context, R.layout.custom_row, features); 

    this.c = context; 
    this.features = features; 
    this.clicks = clicks; 
    this.images = images; 





} 

public class ViewHolder{ 

    TextView txtphone; 
    TextView txtcall; 
    ImageView imgView;  

} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if(convertView == null){ 


     inflater= (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.custom_row, null); 
    } 

    final ViewHolder holder = new ViewHolder(); 


    holder.txtphone = (TextView) convertView.findViewById(R.id.txtphone); 
    holder.txtcall= (TextView) convertView.findViewById(R.id.txtcall); 
    holder.imgView= (ImageView) convertView.findViewById(R.id.imgView); 


    holder.txtphone.setText(features[position]); 
    holder.txtcall.setText(clicks[position]); 
    holder.imgView.setImageResource(images[position]); 


    return convertView; 


} 
} 

features

int[] images ={R.drawable.ic_menu_gallery, R.drawable.ic_menu_send, R.drawable.ic_menu_send, R.drawable.ic_menu_send, R.drawable.ic_menu_send}; 

clicksimages同じサイズにしてくださいそして、あなたはこのためにそれをグーグルがあります

ListViewAdapter adapter = new ListViewAdapter(this,feature,click,images); 
関連する問題