こんにちは、ホープのタイトルは紛らわしいものではありません。ここで明確にすることができます。TextViews と ImageViews を持つカスタム ArrayAdapter があります。ここで、TextView の 1 つに、2 番目の列をキーとして持つ HashMap の値を入力する必要があります。構造はこんな感じです..
画像1 ショップテキスト2
image2 車 text2
image3 家 text2
image4 ボート text2
この例では、1 番目と 2 番目の列には、ArrayAdapter の配列が既に取り込まれています。したがって、text2 に、column2 がキーである値の HashMap を入力する必要があります。たとえば、30 店舗の場合、次のようになります。
image1 お店 30
コードは:
Resources rsc = getActivity().getResources();
String[] options = rsc.getStringArray(R.array.item_title);
TypedArray icons = rsc.obtainTypedArray(R.array.item_title_color);
HashMap<String,String> map = new HashMap<String,String>();
MyAdapter adapter = new MyAdapter(getActivity(), R.layout.listview_custom_item, options, icons, map);
list.setAdapter(adapter);
MyAdapter クラス:
class MyAccountsAdapter extends ArrayAdapter<Object> {
private LayoutInflater mInflater;
private int ViewResourceId;
private String[] mstring;
TypedArray icons;
HashMap<String, String> infomap = new HashMap<String,String>();
public MyAdapter(Context context, int textViewResourceId, String[] string, TypedArray icons, HashMap<String, String> map) {
super(context, textViewResourceId, string);
mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mstring = string;
this.icons = icons;
ViewResourceId = textViewResourceId;
infomap.putAll(map); //another hashmap here
}
@Override
public int getCount(){
return mstring.length;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
convertView = mInflater.inflate(ViewResourceId, null);
ImageView imageview = (ImageView)convertView.findViewById(R.id.list_image_id);
TextView text_title = (TextView)convertView.findViewById(R.id.list_text_id);
TextView text_info = (TextView)convertView.findViewById(R.id.list_textinfo_id);
imageview.setImageDrawable(icons.getDrawable(position));
text_title.setText(mstring[position]);
Log.d(TAG, "strings are" + text_title.getText().toString());
// so how do i populate text_info here to correspond with text_title;
return convertView;
}
何か案は?または、それらをすべて1つに結合するなど、これを行うためのより良い方法はありますか?..どんな助けも大歓迎です。ありがとうございました