Adding methods to open and close items
This commit is contained in:
parent
1ed01986ed
commit
55ff957560
|
|
@ -1,8 +1,12 @@
|
|||
package com.daimajia.swipedemo;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.GridView;
|
||||
|
|
@ -17,7 +21,7 @@ public class GridViewExample extends Activity{
|
|||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.gridview);
|
||||
final GridView gridView = (GridView)findViewById(R.id.gridview);
|
||||
GridViewAdapter adapter = new GridViewAdapter(this);
|
||||
final GridViewAdapter adapter = new GridViewAdapter(this);
|
||||
adapter.setMode(SwipeAdapter.Mode.Multiple);
|
||||
gridView.setAdapter(adapter);
|
||||
gridView.setSelected(false);
|
||||
|
|
@ -47,5 +51,29 @@ public class GridViewExample extends Activity{
|
|||
|
||||
}
|
||||
});
|
||||
|
||||
Handler handler = (new Handler());
|
||||
// Open up some items in the list
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
adapter.openItem(1);
|
||||
adapter.openItem(2);
|
||||
adapter.openItem(3);
|
||||
adapter.openItem(1);
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
|
||||
// Close some items in the list
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
adapter.closeItem(1);
|
||||
adapter.closeItem(1);
|
||||
adapter.closeItem(3);
|
||||
}
|
||||
}, 3000);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.daimajia.swipedemo;
|
|||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
|
@ -19,6 +20,7 @@ public class ListViewExample extends Activity {
|
|||
|
||||
private ListView mListView;
|
||||
private ListViewAdapter mAdapter;
|
||||
private int mPositionToTest;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -71,6 +73,31 @@ public class ListViewExample extends Activity {
|
|||
Log.e("ListView", "onNothingSelected:");
|
||||
}
|
||||
});
|
||||
|
||||
final Handler handler = (new Handler());
|
||||
mPositionToTest = 0;
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mAdapter.openItem(mPositionToTest++);
|
||||
if(mPositionToTest < 5)
|
||||
handler.postDelayed(this, 1000);
|
||||
}
|
||||
};
|
||||
// Open up some items in the list
|
||||
handler.postDelayed(runnable, 1000);
|
||||
|
||||
|
||||
// Close some items in the list
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mAdapter.closeItem(1);
|
||||
mAdapter.closeItem(4);
|
||||
mAdapter.closeItem(4);
|
||||
}
|
||||
}, 8000);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -89,9 +116,11 @@ public class ListViewExample extends Activity {
|
|||
int id = item.getItemId();
|
||||
if (id == R.id.action_listview) {
|
||||
startActivity(new Intent(this, ListViewExample.class));
|
||||
finish();
|
||||
return true;
|
||||
}else if(id == R.id.action_gridview){
|
||||
startActivity(new Intent(this, GridViewExample.class));
|
||||
finish();
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
|
|
|||
|
|
@ -91,6 +91,36 @@ public abstract class SwipeAdapter extends BaseAdapter {
|
|||
return mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open and item in the list
|
||||
*
|
||||
* @param position Position of the item
|
||||
*/
|
||||
public void openItem(int position) {
|
||||
if(mode == Mode.Multiple){
|
||||
if(!mOpenPositions.contains(position))
|
||||
mOpenPositions.add(position);
|
||||
}else{
|
||||
mOpenPosition = position;
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Close an item in the list
|
||||
*
|
||||
* @param position Position of the item
|
||||
*/
|
||||
public void closeItem(int position) {
|
||||
if(mode == Mode.Multiple){
|
||||
mOpenPositions.remove(position);
|
||||
}else{
|
||||
if(mOpenPosition == position)
|
||||
mOpenPosition = INVALID_POSITION;
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
class ValueBox {
|
||||
OnLayoutListener onLayoutListener;
|
||||
SwipeMemory swipeMemory;
|
||||
|
|
|
|||
Loading…
Reference in New Issue