Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to use adapter.notifyDataSetChanged(); where i have to use these line for my error
    primarykey
    data
    text
    <p>ItemListBaseAdapter.java</p> <pre><code>public class ItemListBaseAdapter extends BaseAdapter { private static ArrayList&lt;Recipedetails&gt; itemDetailsrrayList; private Integer[] imgid = { R.drawable.vegeterian, R.drawable.nonveg, R.drawable.pickels, R.drawable.soup, R.drawable.sweets, R.drawable.cakes, R.drawable.icecreams, R.drawable.chinesevegdishes, R.drawable.chinesenonveg, R.drawable.chinesenoodles, R.drawable.chinesesoup, R.drawable.godhumaivegadai, R.drawable.soyamorekoozh, R.drawable.tomatokulambu, R.drawable.tomatoupma, R.drawable.vadanavratrispecial, R.drawable.eggkurma, R.drawable.milagu, R.drawable.rasam, R.drawable.vegetablekootu, R.drawable.avial, R.drawable.kothavarangaicurry, R.drawable.allepeyfishcurry, R.drawable.spicymadraschicken, R.drawable.prawns, R.drawable.keralachickenstew, R.drawable.nilgirichickenkorma, R.drawable.pepperchickencurry, R.drawable.chettiandchicken, R.drawable.prawnmasala, R.drawable.beeffry, R.drawable.crispyfish, R.drawable.amlapickle, R.drawable.avakaipickle, R.drawable.capsicumpickle, R.drawable.lemonpickle, R.drawable.onionpickle, R.drawable.mangopickle, R.drawable.tendermangopickle, R.drawable.tomatopickle, R.drawable.chillipickles, R.drawable.gingerpickle, R.drawable.garlicsoup, R.drawable.mixedvegsoup, R.drawable.chickenmanchowsoup, R.drawable.cleartomatosoup, R.drawable.sweetcornvegetablesoup, R.drawable.prawnandnoodlesoup, R.drawable.beetrootsoup, R.drawable.capsicumsoup, R.drawable.muttonsoup, R.drawable.spinachsoup, R.drawable.vegcurry, R.drawable.mushroommutter, R.drawable.alooparatha, R.drawable.daltadka, R.drawable.aloomethi, R.drawable.rajma, R.drawable.paneerbhujri, R.drawable.alooghobi, R.drawable.aloosabzi, R.drawable.kadhaipaneer, R.drawable.chickenwithbellpeppers, R.drawable.butterchicken, R.drawable.fishkorma, R.drawable.prawnfry, R.drawable.tandoorichicken, R.drawable.maccherjholfish, R.drawable.shamikabab, R.drawable.saagmeat, R.drawable.sindhichickenbiryani, R.drawable.punjabichickencurry, R.drawable.gulabjamun, R.drawable.basundi, R.drawable.peda, R.drawable.badhamhalwa, R.drawable.coconutburfi, R.drawable.kulfi, R.drawable.ladoo, R.drawable.mysorepak, R.drawable.ricekheer, R.drawable.badam, R.drawable.cauliflowersoup, R.drawable.cucumbersoup, R.drawable.tomatosoup, R.drawable.mulligatawnysoup, R.drawable.greenpeassoup, R.drawable.northindianmuttonsoup, R.drawable.chickennoodlesoup, R.drawable.spicybeansoup, R.drawable.eggdropsoup, R.drawable.springvegsoup, R.drawable.mushroomandseitan, R.drawable.tofuwith3spices, R.drawable.creamyvegpie, R.drawable.grilledvegmedley, R.drawable.bakedsquash, R.drawable.africanchickenstew, R.drawable.westafricanchicken, R.drawable.africanyamsoup, R.drawable.chickenchilliroast, R.drawable.chilliblackbeans, R.drawable.williecake, R.drawable.pumpkingingercupcakes, R.drawable.doublelayerpumpkincheesecake, R.drawable.carrotcake, R.drawable.sexcake, R.drawable.chocolatechipicecream, R.drawable.cookieicecream, R.drawable.cinnamonicecream, R.drawable.appleicecream, R.drawable.walnut, R.drawable.chineseaubergins, R.drawable.spicycucumber, R.drawable.chinesemushrooms, R.drawable.chinesegobi, R.drawable.spicytofu, R.drawable.chinesetilchicken, R.drawable.chickenmoongali, R.drawable.sweetsourchicken, R.drawable.cherrychicken, R.drawable.mymasalachicken, R.drawable.coldseasamenoodles, R.drawable.sobanoodles, R.drawable.noodleswithtofu, R.drawable.chinesevegandbeef, R.drawable.noodleswithpepper, R.drawable.jhingasoup, R.drawable.masalachickensoup, R.drawable.cabbagesoup, R.drawable.chinesepumpkinsoup, R.drawable.baconsoup, }; private LayoutInflater l_Inflater; public ItemListBaseAdapter(Context context, ArrayList&lt;Recipedetails&gt; results) { itemDetailsrrayList = results; l_Inflater = LayoutInflater.from(context); } public int getCount() { return itemDetailsrrayList.size(); } public Object getItem(int position) { return itemDetailsrrayList.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = l_Inflater.inflate(R.layout.item_details_view, null); holder = new ViewHolder(); holder.txt_itemName = (TextView) convertView.findViewById(R.id.name); holder.txt_itemDescription = (TextView) convertView.findViewById(R.id.itemDescription); holder.itemImage = (ImageView) convertView.findViewById(R.id.photo); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.txt_itemName.setText(itemDetailsrrayList.get(position).getName()); holder.txt_itemDescription.setText(itemDetailsrrayList.get(position).getItemDescription()); holder.itemImage.setImageResource(imgid[itemDetailsrrayList.get(position).getImageNumber() - 1]); return convertView; } public synchronized void refreshAdapter(ArrayList&lt;Recipedetails&gt; items) { itemDetailsrrayList.clear(); itemDetailsrrayList.addAll(items); notifyDataSetChanged(); } static class ViewHolder { TextView txt_itemName; TextView txt_itemDescription; ImageView itemImage; } } </code></pre> <p>Recipedetails.java</p> <pre><code>public class Recipedetails { public String getName() { return name; } public void setName(String name) { this.name = name; } public String getItemDescription() { return itemDescription; } public void setItemDescription(String itemDescription) { this.itemDescription = itemDescription; } public int getImageNumber() { return imageNumber; } public void setImageNumber(int imageNumber) { this.imageNumber = imageNumber; } private String name ; private String itemDescription; private int imageNumber; } </code></pre> <p>Listview.java</p> <pre><code>public class SouthIndian extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ArrayList&lt;Recipedetails&gt; image_details = GetSearchResults(); final ListView lv1 = (ListView) findViewById(R.id.listV_main); lv1.setAdapter(new ItemListBaseAdapter(this, image_details)); lv1.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; a, View v, int position, long id) { Object o = lv1.getItemAtPosition(position); Recipedetails obj_itemDetails = (Recipedetails)o; Toast.makeText(SouthIndian.this, "You have chosen : " + " " + obj_itemDetails.getName(), Toast.LENGTH_LONG).show(); //final ArrayList&lt;Recipedetails&gt; act = GetSearchResults(); //if (act != null) switch(obj_itemDetails.getImageNumber()) { case 1: Intent newActivity = new Intent(SouthIndian.this, AndroidTabLayoutActivity.class); startActivity(newActivity); break; case 2: Intent new1Activity = new Intent(SouthIndian.this, AndroidTabLayoutActivity1.class); startActivity(new1Activity); break; case 3: Intent new2Activity = new Intent(SouthIndian.this, AndroidTabLayoutActivity2.class); startActivity(new2Activity); break; case 4: Intent new3Activity = new Intent(SouthIndian.this, AndroidTabLayoutActivity3.class); startActivity(new3Activity); break; default: Toast.makeText(SouthIndian.this, "Wrong Input", Toast.LENGTH_LONG).show(); } } }); runOnUiThread(new Runnable() { public void run() { ItemListBaseAdapter.refreshAdapter(item); //ItemListBaseAdapter.notifyDataSetChanged(); } }); } private ArrayList&lt;Recipedetails&gt; GetSearchResults(){ ArrayList&lt;Recipedetails&gt; results = new ArrayList&lt;Recipedetails&gt;(); Recipedetails item_details = new Recipedetails(); item_details.setName("Vegterian"); item_details.setItemDescription("Recipes made by raw materials"); item_details.setImageNumber(1); results.add(item_details); item_details = new Recipedetails(); item_details.setName("Non-Vegterian"); item_details.setItemDescription("Flesh of sweet animals"); item_details.setImageNumber(2); results.add(item_details); item_details = new Recipedetails(); item_details.setName("Pickels"); item_details.setItemDescription("Touchable dish by Homemade"); item_details.setImageNumber(3); results.add(item_details); item_details = new Recipedetails(); item_details.setName("Soups"); item_details.setItemDescription("Startup for our food"); item_details.setImageNumber(4); results.add(item_details); return results; } } </code></pre> <p>and my log cat error is </p> <pre><code>03-19 05:04:35.103: E/AndroidRuntime(1110): FATAL EXCEPTION: main 03-19 05:04:35.103: E/AndroidRuntime(1110): java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131165193, class android.widget.ListView) with Adapter(class com.example.recipestutors.ItemListBaseAdapter)] 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.widget.ListView.layoutChildren(ListView.java:1544) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3403) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.View.dispatchTouchEvent(View.java:7239) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2168) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1903) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917) 03-19 05:04:35.103: E/AndroidRuntime(1110): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1953) 03-19 05:04:35.103: E/AndroidRuntime(1110): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1405) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.app.Activity.dispatchTouchEvent(Activity.java:2410) 03-19 05:04:35.103: E/AndroidRuntime(1110): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1901) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.View.dispatchPointerEvent(View.java:7419) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3220) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3165) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4292) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4271) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4363) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:179) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.os.MessageQueue.nativePollOnce(Native Method) 03-19 05:04:35.103: E/AndroidRuntime(1110): at android.os.MessageQueue.next(MessageQueue.java:125) </code></pre> <p>In my code, how and where to use <code>adapter.notifyDataSetChanged()</code> <strong>clicking the second item in the listview,application has stopped and showing error like this as i mention in logcat</strong></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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