0

ListView で実行時に文字列を追加できます。しかし、ListView の最後の文字列データしか取得していません。その原因は何ですか?これが私のコードです。

 for (GraphUser user : users) { 
    ArrayList<String> arr = new ArrayList<String>(Arrays.asList(user.getName()));
                                                      ArrayAdapter<String> str = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,arr); 
                                                      lv.setAdapter(str);
                                                      str.setNotifyOnChange(true);
    }
4

3 に答える 3

1

あなたのコードは次のようになります

ArrayList<String> arr = new ArrayList<String>
    for (GraphUser user : users) { 
        (arr.add(user.getName()));

        }

ArrayAdapter<String> str = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,arr); 
                                                              lv.setAdapter(str);
                                                              str.setNotifyOnChange(true);
于 2013-07-06T12:14:48.183 に答える
0

Adapter クラスをオーバーライドし、 changeList メソッドを使用してリストを変更する必要があると思います。

    public void changeList(ArrayList<String>  objects){
        this.objects = objects;
        Collections.sort(objects);
        notifyDataSetChanged(); 
    }

オブジェクト: 新しい ArrayList

getView メソッドをオーバーライドする必要があります。

    public View getView(int position, View convertView, ViewGroup parent) {         
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.list_view_custom_layout, parent, false);
        TextView textView = (TextView)rowView.findViewById(R.id.label);
        textView.setText(objects.get(position));
        }       
        return rowView;
    }

list_view_custom_layout : カスタム レイアウト xml ファイル (いくつかのレイアウトと textView: この場合は "label" が含まれています)

私のために働いた。

于 2013-07-06T13:23:18.600 に答える
0

ついに解決策を手に入れました...魔法のように働いています...

ArrayList<String> arr = null;
                                    arr = new ArrayList<String>();

                                    for (GraphUser user : users) {

                                        arr.add(user.getName());

                                    }

                                    ArrayAdapter<String> str = new ArrayAdapter<String>(
                                            getBaseContext(),
                                            android.R.layout.simple_list_item_1,
                                            arr);
                                    lv.setAdapter(str);
                                    str.setNotifyOnChange(true);
于 2013-07-08T04:34:05.933 に答える