조각에 내 사용자 지정 어댑터가있는 ListView를 표시하려하지만 표시되지 않습니다. 나는 정상적인 활동에서 사용한 코드와 동일한 코드를 사용하지만이 코드에서는 아무런 문제가 없다 ...조각에 ListView 표시 시도 중
코드는 오류를 나타내지 않지만 아무 것도 나타나지 않는다.
public class Amics extends Fragment {
ListView listView_Amics;
ArrayAdapter<Usuari> adapter;
List<Usuari> list = new ArrayList<Usuari>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
View rootView = inflater.inflate(R.layout.amics, container, false);
listView_Amics = (ListView) rootView.findViewById(R.id.listView_amics);
adapter = new MyAdapter_Amics(getActivity(),list);
listView_Amics.setAdapter(adapter);
obtenir_amics1(); // THIS FUNCTION ADD ELEMENTS TO THE LIST AND SETS ADAPTER
return rootView;
}
public boolean obtenir_amics1(){
String data = null; // THE STRING TO SAVE HTTPOST RESPONSE
// HTTP POST DATA RECIEVING..
List<NameValuePair> parametres = new ArrayList<NameValuePair>();
parametres.add(new BasicNameValuePair("id", id));
try {
DefaultHttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost("MY_HOST");
request.setEntity(new UrlEncodedFormEntity(parametres));
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
data = EntityUtils.toString(entity);
Log.e("DADES OBTINGUDES", data);
try {
JSONArray json = new JSONArray(data);
int limit = 50;
if(json.length()<limit){limit=json.length();}
for (int i = 0; i < limit; i++) {
JSONObject obj = json.getJSONObject(i);
String nombre = obj.getString("usuario_two");
boolean selected = false;
Log.e("amic:", nombre);
list.add(new Usuari(nombre,selected));
listView_Amics.setAdapter(adapter);
}
return true;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClientProtocolException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
} catch (IOException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
}
return false;
}
어댑터에 새 항목을 추가 한 후'notifyDataSetChanged' 메서드를 호출 해보십시오. – Fllo
같은 문제가 계속 발생합니다 ..하지만 고마워요! –
응용 프로그램 외부에서 스크립트 PHP를 확인 했습니까? 그것은 뭔가를 반환합니까? 아마도 관련이 없지만 AsyncTask를 만들고 onPostExecute 메서드 안에 항목을 표시해야합니다. 아마도 안드로이드는 메인 스레드에서 HTTP 요청을하는 것을 좋아하지 않습니다 .. – Fllo