1

こんにちは、ホープのタイトルは紛らわしいものではありません。ここで明確にすることができます。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つに結合するなど、これを行うためのより良い方法はありますか?..どんな助けも大歓迎です。ありがとうございました

4

1 に答える 1

0

以下のコードを試してください:

   text_info.setText(infomap.get(mstring[position]));
于 2012-09-14T13:50:41.433 に答える