Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to refresh the ListView in Drag-Sort ListView?
    primarykey
    data
    text
    <p>I have implement Drag-Sort ListView(DSLV) and LazyList together in my Project, I download the Demo <a href="https://github.com/thest1/LazyList" rel="nofollow noreferrer">LazyList</a> and <a href="https://github.com/bauerca/drag-sort-listview" rel="nofollow noreferrer">Drag-Sort ListView</a> from github then integrate and modify as per my requirement ,</p> <p>I use DSLV for drag and sort the items of ListView and LazyList for Displaying Image from URL, i just implement "Basic usage playground" from DSLV for drag and sort,</p> <p>I have implement search in TestBedDSLV.java, but the problem is that when I search the Content from the list, but i can't update the list, i have tried notifyDataSetChanged method but it not works, generally we create new adapter and pass it to listview like lv.setAdapter(adapter) , but here they just set ListAdapter, so we cant do lv.setAdapter(adapter)</p> <p>TestBedDSLV.java</p> <pre><code>package com.mobeta.android.demodslv; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.text.Editable; import android.text.TextWatcher; import android.view.Menu; import android.view.MenuInflater; import android.widget.Button; import android.widget.EditText; import com.mobeta.android.dslv.DragSortController; import com.mobeta.android.dslv.DragSortListView; public class TestBedDSLV extends FragmentActivity { private int mNumHeaders = 0; private int mNumFooters = 0; private int mDragStartMode = DragSortController.ON_DOWN; private boolean mRemoveEnabled = false; private int mRemoveMode = DragSortController.FLING_RIGHT_REMOVE; private boolean mSortEnabled = true; private boolean mDragEnabled = true; private String mTag = "dslvTag"; Button search; EditText search_customer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_bed_main); search = (Button) findViewById(R.id.btn_search); search_customer = (EditText) findViewById(R.id.search_product); search_customer.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // here is logic for refresh the list View } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } }); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.test_bed, getNewDslvFragment(), mTag).commit(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mode_menu, menu); return true; } private Fragment getNewDslvFragment() { DSLVFragmentClicks f = DSLVFragmentClicks.newInstance(mNumHeaders, mNumFooters); f.removeMode = mRemoveMode; f.removeEnabled = mRemoveEnabled; f.dragStartMode = mDragStartMode; f.sortEnabled = mSortEnabled; f.dragEnabled = mDragEnabled; return f; } } </code></pre> <p>DSLVFragmentClicks.java</p> <pre><code>package com.mobeta.android.demodslv; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.os.Bundle; import android.widget.Toast; public class DSLVFragmentClicks extends DSLVFragment { public static DSLVFragmentClicks newInstance(int headers, int footers) { DSLVFragmentClicks f = new DSLVFragmentClicks(); Bundle args = new Bundle(); args.putInt("headers", headers); args.putInt("footers", footers); f.setArguments(args); return f; } AdapterView.OnItemLongClickListener mLongClickListener = new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) { String message = String.format("Long-clicked item %d", arg2); Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show(); return true; } }; @Override public void onActivityCreated(Bundle savedState) { super.onActivityCreated(savedState); ListView lv = getListView(); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) { String message = String.format("Clicked item %d", arg2); Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show(); } }); lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) { String message = String.format("Long-clicked item %d", arg2); Toast.makeText(getActivity(), message, Toast.LENGTH_SHORT).show(); return true; } }); } } </code></pre> <p>DSLVFragment.java</p> <pre><code>package com.mobeta.android.demodslv; import java.util.ArrayList; import java.util.Arrays; import android.os.Bundle; import android.support.v4.app.ListFragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import com.mobeta.android.dslv.DragSortController; import com.mobeta.android.dslv.DragSortListView; public class DSLVFragment extends ListFragment { ArrayAdapter&lt;String&gt; adapter; private String[] array; public static ArrayList&lt;String&gt; list; private DragSortListView.DropListener onDrop = new DragSortListView.DropListener() { @Override public void drop(int from, int to) { if (from != to) { String item = adapter.getItem(from); adapter.remove(item); adapter.insert(item, to); } } }; private DragSortListView.RemoveListener onRemove = new DragSortListView.RemoveListener() { @Override public void remove(int which) { adapter.remove(adapter.getItem(which)); } }; protected int getLayout() { return R.layout.dslv_fragment_main; } /** * Return list item layout resource passed to the ArrayAdapter. */ protected int getItemLayout() { return R.layout.list_item_handle_right; } private DragSortListView mDslv; private DragSortController mController; public int dragStartMode = DragSortController.ON_DOWN; public boolean removeEnabled = false; public int removeMode = DragSortController.FLING_RIGHT_REMOVE; public boolean sortEnabled = true; public boolean dragEnabled = true; public static DSLVFragment newInstance(int headers, int footers) { DSLVFragment f = new DSLVFragment(); Bundle args = new Bundle(); args.putInt("headers", headers); args.putInt("footers", footers); f.setArguments(args); return f; } public DragSortController getController() { return mController; } /** * Called from DSLVFragment.onActivityCreated(). Override to set a different * adapter. */ public void setListAdapter() { array = getResources().getStringArray(R.array.jazz_artist_names); list = new ArrayList&lt;String&gt;(Arrays.asList(array)); adapter = new ArrayAdapter&lt;String&gt;(getActivity(), getItemLayout(), R.id.text, list); setListAdapter(adapter); } /** * Called in onCreateView. Override this to provide a custom * DragSortController. */ public DragSortController buildController(DragSortListView dslv) { DragSortController controller = new DragSortController(dslv); controller.setDragHandleId(R.id.drag_handle); controller.setClickRemoveId(R.id.click_remove); controller.setRemoveEnabled(removeEnabled); controller.setSortEnabled(sortEnabled); controller.setDragInitMode(dragStartMode); controller.setRemoveMode(removeMode); return controller; } /** Called when the activity is first created. */ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mDslv = (DragSortListView) inflater.inflate(getLayout(), container, false); mController = buildController(mDslv); mDslv.setFloatViewManager(mController); mDslv.setOnTouchListener(mController); mDslv.setDragEnabled(dragEnabled); return mDslv; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mDslv = (DragSortListView) getListView(); mDslv.setDropListener(onDrop); mDslv.setRemoveListener(onRemove); Bundle args = getArguments(); int headers = 0; int footers = 0; if (args != null) { headers = args.getInt("headers", 0); footers = args.getInt("footers", 0); } setListAdapter(); } } </code></pre> <p>test_bed_main.xml</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" &gt; &lt;LinearLayout android:id="@+id/search_lay" android:layout_width="fill_parent" android:layout_height="wrap_content" android:focusable="true" android:focusableInTouchMode="true" android:orientation="horizontal" &gt; &lt;EditText android:id="@+id/search_product" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="2dp" android:layout_marginLeft="5dp" android:layout_marginTop="2dp" android:layout_weight="1" android:background="@drawable/search_back" android:hint="Enter Firstname" android:imeOptions="actionSearch" android:inputType="text" android:paddingBottom="2dp" android:paddingLeft="5dp" android:paddingTop="2dp" android:visibility="visible" /&gt; &lt;Button android:id="@+id/btn_search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_weight="2.5" android:text="CANCEL" android:textColor="#155280" android:textSize="14sp" android:textStyle="bold" android:visibility="visible" /&gt; &lt;/LinearLayout&gt; &lt;FrameLayout android:id="@+id/test_bed" android:layout_width="fill_parent" android:layout_height="fill_parent" /&gt; &lt;!-- We will add the DSLVFragment inside the FrameLayout in code --&gt; &lt;/LinearLayout&gt; </code></pre> <p><img src="https://i.stack.imgur.com/znkNy.png" alt="enter image description here"></p> <p>and other require class can be download from github link that i given above.....</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.
 

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