Note that there are some explanatory texts on larger screens.

plurals
  1. POValues not loading in the listview after parsing JSON from the Assets folder
    text
    copied!<p>I am trying to get values from a json file in the assets folder and loading it into my simple list view. There's not error in the code and I did try to log all the states. I can see the required values in the log cat but when I using an adapter, the screen loads but I cannot see the data. </p> <p>I am also using fragments in this test application and I have 4 tabs in total. In one tab I wanted to show all the data loaded from the json file.</p> <p>Is there something wrong with my adapter? Some help will be really apreciated.</p> <pre><code>public class Test extends Fragment { Context context; // TextView tview; ImageView iv; ImageView iv1; private static final String STATE = "state"; ArrayList&lt;HashMap&lt;String, String&gt;&gt; jsonlist = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;(); @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { context = getActivity(); View rootView = inflater.inflate(R.layout.xyz, container, false); ListView lv1 = (ListView) rootView.findViewById(R.id.list); TextView tv1 = (TextView) rootView.findViewById(R.id.rowidtext); lv1.setAdapter(new SimpleAdapter(getActivity(), jsonlist, R.layout.xyz, new String[] { STATE }, new int[] { R.id.rowidtext })); try { JSONObject json = new JSONObject(loadJSONFromAsset()); if (json != null) { JSONArray array = json.getJSONArray("Information"); Log.i("Data1234", array.toString()); for (int i = 0; i &lt;= array.length(); i++) { JSONObject c = array.getJSONObject(i); String vstate = c.getString(STATE); Log.i("STATE", vstate); HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;(); // Add child node to HashMap key &amp; value map.put(STATE, vstate); jsonlist.add(map); } Log.i("Data Coming? ", jsonlist.toString()); } } catch (JSONException e) { e.printStackTrace(); } Log.i("Data Coming? ", jsonlist.toString()); return rootView; } public String loadJSONFromAsset() { String json = null; try { InputStream is = getActivity().getAssets().open("testjson1.json"); int size = is.available(); byte[] buffer = new byte[size]; is.read(buffer); is.close(); json = new String(buffer, "UTF-8"); } catch (IOException ex) { ex.printStackTrace(); return null; } return json; } } </code></pre> <p>Logcat:</p> <pre><code>10-28 22:43:08.364: D/dalvikvm(5806): GC_FOR_ALLOC freed 60K, 8% free 2779K/3016K, paused 23ms, total 25ms 10-28 22:43:08.364: I/dalvikvm-heap(5806): Grow heap (frag case) to 3.957MB for 1127536-byte allocation 10-28 22:43:08.474: D/dalvikvm(5806): GC_FOR_ALLOC freed 2K, 6% free 3878K/4120K, paused 100ms, total 100ms 10-28 22:43:08.804: D/gralloc_goldfish(5806): Emulator without GPU emulation detected. 10-28 22:43:13.845: I/Data1234(5806): [{"state":"JAVA","outdoorfun":"yes","additionalinfo":"{ search: 'online', website: 'http:\/\/states.arkansas.com', latitudeandlongitude: '93905, 63550}","cold":"no","type":"landlocked"},{"state":"ANDROID","outdoorfun":"no","additionalinfo":"{ search: 'online', website: 'http:\/\/states.chicago.com', latitudeandlongitude: '23905, 45355}","cold":"yes","type":"windy"},{"state":"CORE JAVA","outdoorfun":"no","additionalinfo":"{ search: 'online', website: 'http:\/\/states.chicago.com', latitudeandlongitude: '23905, 45355}","cold":"yes","type":"windy"},null] 10-28 22:43:13.845: I/STATE(5806): JAVA 10-28 22:43:13.845: I/STATE(5806): ANDROID 10-28 22:43:13.845: I/STATE(5806): CORE JAVA 10-28 22:43:13.855: W/System.err(5806): ***org.json.JSONException: Value at 3 is null.*** 10-28 22:43:13.855: W/System.err(5806): at org.json.JSONArray.get(JSONArray.java:259) 10-28 22:43:13.855: W/System.err(5806): at org.json.JSONArray.getJSONObject(JSONArray.java:480) 10-28 22:43:13.855: W/System.err(5806): at com.mike.myapp.Train.onCreateView(Train.java:91) 10-28 22:43:13.855: W/System.err(5806): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 10-28 22:43:13.865: W/System.err(5806): at android.support.v4.view.ViewPager.populate(ViewPager.java:1068) 10-28 22:43:13.875: W/System.err(5806): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:550) 10-28 22:43:13.875: W/System.err(5806): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:509) 10-28 22:43:13.875: W/System.err(5806): at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:490) 10-28 22:43:13.875: W/System.err(5806): at com.mike.myapp.MainActivity.onTabSelected(MainActivity.java:91) 10-28 22:43:13.875: W/System.err(5806): at com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:572) 10-28 22:43:13.875: W/System.err(5806): at com.android.internal.app.ActionBarImpl$TabImpl.select(ActionBarImpl.java:1098) 10-28 22:43:13.875: W/System.err(5806): at com.android.internal.widget.ScrollingTabContainerView$TabClickListener.onClick(ScrollingTabContainerView.java:547) 10-28 22:43:13.887: W/System.err(5806): at android.view.View.performClick(View.java:4240) 10-28 22:43:13.887: W/System.err(5806): at android.view.View$PerformClick.run(View.java:17721) 10-28 22:43:13.887: W/System.err(5806): at android.os.Handler.handleCallback(Handler.java:730) 10-28 22:43:13.895: W/System.err(5806): at android.os.Handler.dispatchMessage(Handler.java:92) 10-28 22:43:13.895: W/System.err(5806): at android.os.Looper.loop(Looper.java:137) 10-28 22:43:13.895: W/System.err(5806): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-28 22:43:13.895: W/System.err(5806): at java.lang.reflect.Method.invokeNative(Native Method) 10-28 22:43:13.905: W/System.err(5806): at java.lang.reflect.Method.invoke(Method.java:525) 10-28 22:43:13.905: W/System.err(5806): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-28 22:43:13.905: W/System.err(5806): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-28 22:43:13.905: W/System.err(5806): at dalvik.system.NativeStart.main(Native Method) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload