Note that there are some explanatory texts on larger screens.

plurals
  1. POlimit run On User interface Thread to just one fragment
    primarykey
    data
    text
    <p>i have a fragment class that i need to refresh a list view in it and i use a Thread but my problem here is that it runs it on other fragments too i mean when i scroll to other fragments it runs this Thread to refresh the list view but there is no list view there so i get a force close!!</p> <p>here is my code:</p> <pre><code>Thread thread = new Thread() { @Override public void run() { try { while(true) { Thread.sleep(2000); getActivity().runOnUiThread(new Runnable() { @Override public void run() { refreshlist(view); } }); } } catch (InterruptedException e) { e.printStackTrace(); } } }; thread.start() </code></pre> <p>So any Help!! Thanks in advance! </p> <p>Update:</p> <pre><code>import java.util.List; import mr.chag.va.lagar.R; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import com.actionbarsherlock.app.SherlockFragment; public class caleryhistory extends SherlockFragment { List&lt;calery_lagari&gt; Calery_lagari; calery_lagari_SQLiteData data; ArrayAdapter&lt;calery_lagari&gt; adapter; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.calery_history, null); return v; } @Override public void onViewCreated(final View view, Bundle savedInstanceState) { data = new calery_lagari_SQLiteData(getActivity()); data.open(); Calery_lagari = data.findall(); adapter = new calery_lagari_history_adapter(getActivity(), Calery_lagari); final ListView listView = (ListView) view.findViewById(android.R.id.list); listView.setAdapter(adapter); adapter.notifyDataSetChanged(); listView.invalidateViews(); adapter.notifyDataSetChanged(); Button b = (Button) view.findViewById(R.id.button1); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { data.db.delete(calery_lagari_SQLiteOpenHelper.TABLE_calery, null, null); refreshlist(view); } }); Thread thread = new Thread() { @Override public void run() { try { while(true) { Thread.sleep(2000); caleryhistory.this.getActivity().runOnUiThread(new Runnable() { @Override public void run() { Calery_lagari = data.findall(); refreshlist(view); } }); } } catch (InterruptedException e) { e.printStackTrace(); } } }; thread.start(); super.onViewCreated(view, savedInstanceState); } public void refreshlist(View view) { Calery_lagari = data.findall(); adapter = new calery_lagari_history_adapter(getActivity(), Calery_lagari); ListView listView = (ListView) view.findViewById(android.R.id.list); listView.setAdapter(adapter); } } </code></pre>
    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