Похожий вопрос к Custom adapter getview is not calledGetView обычая ArrayAdapter не вызывается
У меня есть пользовательский адаптер, чтобы поместить изображения на моем экране приложения, но это не вызывается вообще. Проведя некоторые исследования, я обнаружил, что мне нужно переопределить метод getCount()
. Я сделал это, возвращая размер ArrayList, но все равно не повезло. Я думал, что список может быть пустым, но через отладку я могу подтвердить, что это не когда он передается в пользовательский класс ArrayAdapter. Я даже попытался вернуть значение 20 в getCount()
, чтобы посмотреть, будет ли это работать, но все равно не повезло.
Вот код, который я сделал до сих пор;
MainActivityFragment.class
public class MainActivityFragment extends Fragment {
private ImageAdapter imageAdapter;
public class FetchMovieTask extends AsyncTask<String, Void, JSONObject> {
@Override
protected void onPostExecute(JSONObject strings) {
Log.i(LOG_TAG, strings.toString());
try {
jsonArray = strings.getJSONArray("results");
if (null != jsonArray) {
ArrayList<JSONObject> list = new ArrayList<JSONObject>();
if (jsonArray != null) {
int len = jsonArray.length();
for (int i=0;i<len;i++){
list.add((JSONObject) jsonArray.get(i));
}
}
imageAdapter = new ImageAdapter(getActivity(), list);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
- Существует много больше этого класса фрагмента, но я просто включен, когда я возвращаю JSONObject из
doInBackground()
и вonPostExecute()
я извлечь JSONArray из JSONObject и поместите каждый элемент из JSONArray вArrayList<JSONObject>
и отправьте его в мой пользовательский класс ArrayAdapter
ImageAdapter.class
- GetCount было присвоено значение
list.size()
, где список не является нулевым, и это до сих пор не называется - Это было жёстко 20 (размер списка) и до сих пор не называется
Любые идеи, как решить эту проблему?
Где вы звоните setAdapter?Убедитесь, что [this] (http://stackoverflow.com/questions/16338281/custom-adapter-getview-method-is-not-called/16338380#16338380) помогает – Blackbelt
Я вызываю его в методе 'onCreateView' – Dan