Как я могу получить Массив объектов в Массив строкового формата для присвоения списку в Android? - PullRequest
0 голосов
/ 07 июня 2010

Я получаю массив объектов из веб-службы, который должен быть назначен ArrayAdapter для включения в список, я получаю результат в @ 431d5410 в этом формате. Как я могу получить в формате строки?

      projects = projectService.SearchProjects("", 0, -1);
  **Vector<ADSProject> ProjList = projects.getResults();**
      setListAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,ProjList));
  ListView Projects = getListView();
  Projects.setOnItemClickListener(this);

1 Ответ

2 голосов
/ 07 июня 2010

ArrayAdapter пытается заполнить ваше представление списка объектом ADSProject (отсюда и @ 431d5410.) Вы должны создать собственный ArrayAdapter или BaseAdapter и обработать получение значения String из вашего объекта ADSProject.

Это выглядело бы примерно так (не уверен, что если это работает с векторным объектом, я бы использовал ArrayList):

public class MyArrayAdapter extends ArrayAdapter<ADSProject> {

  private Context mContext;
  private List<ADSProject> mProjects;
  private int mLayoutResource;
  private int mTextViewResourceId;
  private TextView mTextView;

  public MyArrayAdapter(Context context, int resource,
        int textViewResourceId, List<ADSProject> objects) {
    super(context, resource, textViewResourceId, objects);

    mContext = context;
    mLayoutResource = resource;
    mTextViewResourceId = textViewResourceId;
    mProjects = objects;

  }

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

    // Handle View Recycling
    View view;
    if(convertView == null) {
        LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(mLayoutResource, null);
    } else {
        view = convertView;
    }

    // Get textview and set with string from ADSProject Object
    mTextView = (TextView)view.findViewById(mTextViewResourceId);
    mTextView.setText(mProjects.get(position).getStringValue());

    return view;
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...