내 mysql 데이터베이스에서 제품 목록을로드하는 customadapter가있는 조각에 listview가 있습니다. 처음 탐색 용 서랍 활동에서 조각으로 이동할 때 항목을 표시하지 않지만 로그에 동일한 항목이 표시됩니다. 그러나 동일한 조각이 두 번째로 시작되면 모든 항목이 표시됩니다.안드로이드 ListView 처음 조각을 시작할 때 내용을 표시하지 않습니다
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_view_complain, container, false);
sharedPreferences = getActivity().getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
new BackgroundViewComplainTask().execute();
jsonString = sharedPreferences.getString("complain", "");
complainList = (ListView)view.findViewById(R.id.list);
addComplain = (Button)view.findViewById(R.id.addComplain);
String productName, serial, complainType, complainMessage, added_on;
viewComplainAdapter = new ViewComplainAdapter(this.getActivity(), R.layout.complain_layout);
try {
Log.d("json",jsonString);
jsonObject = new JSONObject(jsonString);
jsonArray = jsonObject.getJSONArray("server_response");
int count = 0;
ViewComplainsList viewComplainsList;
while (count<jsonArray.length()){
JSONObject JO = jsonArray.getJSONObject(count);
productName = JO.getString("productName");
serial = JO.getString("serial");
complainType = JO.getString("complainType");
complainMessage = JO.getString("complainMessage");
added_on = JO.getString("added_on");
viewComplainsList = new ViewComplainsList(complainMessage, complainType, productName, serial, added_on);
viewComplainAdapter.add(viewComplainsList);
count++;
}
complainList.setAdapter(viewComplainAdapter);
viewComplainAdapter.notifyDataSetChanged();
} catch (JSONException e) {
e.printStackTrace();
}
if(jsonString.isEmpty()){
Toast.makeText(getActivity(),"No Complains found",Toast.LENGTH_LONG).show();
this.startActivity(new Intent(getActivity(), MainActivity.class));
}
addComplain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.main_activity_frame, new AddComplainFragment()).addToBackStack("complainFragment").commit();
}
});
return view;
}
jsonString 로그 인쇄받을 않습니다 다음은 조각의 onCreateView()에서 내 코드입니다.
06-08 15 : 08 : 여기
내 활동 로그 인 27.450 10110-10110/com.example.thadaninilesh.productapp의 W/System.err에 : org.json.JSONException : 입력의 끝 08 : 10110-10110 27.450/com.example.thadaninilesh.productapp W/System.err에 : 06-08 (15)의 문자 0 org.json.JSONTokener.syntaxError (JSONTokener.java:450)에서 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : org.json.JSONTokener.nextValue (JSONTokener.java:97) 06-08 15 : 08 : 27.450 10110-10110/com .example.thadaninilesh.productapp 승/System.err : org.json.JSONObject. (JSONObject.java:156) 06 -08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp W/System.err : org.json.JSONObject. (JSONObject.java:173) 06-08 15 : 08 : 27.450 10110-10110 /com.example.thadaninilesh.productapp W/System.err : com.example.thadaninilesh.productapp.ViewComplainFragment.onCreateView (ViewComplainFragment.java:72) 06-08 15 : 08 : 27.450 10110-10110/com.example. thadaninilesh.productapp 승/System.err : android.app.Fragment.performCreateView (Fragment.java:2053) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.app.FragmentManagerImpl.moveToState (FragmentManager.java:894) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1067) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp W /System.err : at android.app.BackStackRecord.run (BackStackRecord.java:834) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.app .FragmentManagerImpl.execPendingActions (FragmentManager.java:1452) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.app.FragmentManagerImpl $ 1.run (FragmentManager.java : 447) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.os.Handler.handleCallback (Handler.java:739) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : android.os.Handler.dispatchMessage (Handler.java:95) 06-08 15 : 08 : 27.450 10110-10110/com. example.thadaninilesh.productapp 승/System.err : android.os.Looper.loop (Looper.java:135) 06-08 15 : 08 : 27.45 0 10110-10110/com.example.thadaninilesh.productapp W/System.err : android.app.ActivityThread.main (ActivityThread.java:5254) 06-08 15 : 08 : 27.450 10110-10110/com.example. thadaninilesh.productapp 승/System.err : java.lang.reflect.Method.invoke (기본 메서드) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : at java.lang.reflect.Method.invoke (Method.java:372) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp 승/System.err : at com.android.internal.os .ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:903) 06-08 15 : 08 : 27.450 10110-10110/com.example.thadaninilesh.productapp W/System.err : com.android.internal.os.ZygoteInit. main (ZygoteInit.java:698) 06-08 15 : 08 : 27.480 10110-10394/com.example.thadaninilesh.productapp D/응답 : { "server_response": [{ "serial": "123456789QWERT", "complainType": "qwerty", "complainMessage": "신체가 완전히 손상되었습니다.", "added_on": "08-06-2016 "added", "productName": "Acer Travelmate"}, { "serial": "123456789QWERT", "complainType": "qwerty", "complainMessage": "신체가 완전히 손상되었습니다.", "08-06- 2016 ","productName ":"Acer Travelmate "}, {"serial ":"123456789QWERT ","complainType ":"qwerty ","complainMessage ":"신체가 완전히 손상되었습니다. ","added_on ":"08-06 "added", "productName": "Acer Travelmate"}, { "serial": "123456789QWERT", "complainType": "qwertyu", "complainMessage" 06-216 ","productName ":"Acer Travelmate "}, {"serial ":"123456789QWERT ","complainType ":"물리적 조건 ","complainMessage ":"- ","added_on ":"08-06 -2016 ","productName ":"Acer Travelmate "}, {"serial ":"12345678DFGBH ","complainType ":"sdcwsdw ","complainMessage ":"wdwdf ","added_on ":"08-06-2016 " , "productName": "Galaxy J7"}, { "serial": "12345678DFGBH", "complainType": "asd", "c" omplainMessage ":"- ","ADDED_ON ":"2016년 8월 6일 8시 6분 ","제품 이름 ":"갤럭시 J7 "}]} 당신은 당신의 데이터를 가져 오는 전에viewComplainAdapter.notifyDataSetChanged();
를 호출하고
작동하지 않았습니다. –