Я создал пользовательский класс адаптера и класс getter и setter под названием Bean. Это делается для представления списка, в котором есть textView и изображение.Как заполнить собственный список двумя массивами.
Как я могу заполнить myList так, чтобы он был полезен, когда я устанавливаю адаптер и, таким образом, отображает соответствующий текст и изображение из моих массивов в свой списокView?
Я представил код для моего адаптера и класса bean, а также мою задачу Async класса Activity Activity, но проблема заключается в моем методе onPostExecute из моего класса Async.
Просто уточнить. Этот код НЕ был протестирован и поэтому не возвратил никаких ошибок. Мой вопрос заключается в том, как заполнить myList в методе onPostExecute информацией из массивов String «descriptionArray» и «photoArray».
Мой Основная деятельность Класс Асинхронный Задача
private class MyTask extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String content = HttpManager.getData(params[0]);
return content;
}
//-----------------------THIS IS WHERE THE ISSUE IS HAPPENING---------------------------
@Override
protected void onPostExecute(String result) {
hideDialog();
String parseResult = InfoJSONResultParser.parseFeed(result);
importerArray = OrderInformationParser.orderParser(result);
if (parseResult.equals("ok")) {
//Returns the Array with the JSON info already parsed.
List<Bean> myList = new ArrayList<>(); //<---***How to populate this***
//***With the information from these two String arrays.***
String[] descriptionArray = OrderInformationParser.orderParser(result);
String[] photoArray = PhotoParser.photoParser(result);
//This creates and executes the list
list = (ListView)findViewById(R.id.orderListView);
//***So i can then transfer over to this adapter***
MyAdapter adapter = new MyAdapter(MainActivity.this, myList);
list.setAdapter(adapter);
} else {
findViewById(R.id.nullOrders).setVisibility(View.VISIBLE);
}
}
}
адаптер класса
public class MyAdapter extends BaseAdapter {
private Context mContext;
private List<Bean> mList;
public MyAdapter(Context context,List<Bean> list){
mContext=context;
mList=list;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
//use converview recycle
if(convertView==null){
holder=new ViewHolder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.content_orders, parent, false);
holder.textView= (TextView) convertView.findViewById(R.id.textView2);
holder.imageView= (ImageView) convertView.findViewById(R.id.imageView2);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
//set text and url
holder.textView.setText(mList.get(position).getText());
Picasso.with(mContext).load(mList.get(position).getUrl()).into(holder.imageView);
return convertView;
}
class ViewHolder{
TextView textView;
ImageView imageView;
}
}
Bean Class
public class Bean {
String text;
String url;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
чем проблема ? Вызывает ли это исключение? Пожалуйста, будьте более конкретными по вашей проблеме. – rsella
@rsella Это не исключение. Я просто не знаю, как заполнить myList информацией из массивов String. –
Kekis2014