package com.loopeer.test.itemtouchhelperextension;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import com.loopeer.itemtouchhelperextension.ItemTouchHelperExtension;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private MainRecyclerAdapter mAdapter;
public ItemTouchHelperExtension mItemTouchHelper;
public ItemTouchHelperExtension.Callback mCallback;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_main);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new MainRecyclerAdapter(this);
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addItemDecoration(new DividerItemDecoration(this));
mAdapter.updateData(createTestDatas());
mCallback = new ItemTouchHelperCallback();
mItemTouchHelper = new ItemTouchHelperExtension(mCallback);
mItemTouchHelper.attachToRecyclerView(mRecyclerView);
mAdapter.setItemTouchHelperExtension(mItemTouchHelper);
}
private List<TestModel> createTestDatas() {
List<TestModel> result = new ArrayList<>();
for (int i = 0; i < 20; i++) {
TestModel testModel= new TestModel(i,":Item Swipe Action Button Container Width");
if (i == 1) {
testModel = new TestModel(i, "Item Swipe with Action container width and no spring");
}
if (i == 2) {
testModel = new TestModel(i, "Item Swipe with RecyclerView Width");
}
if (i == 3) {
testModel = new TestModel(i, "Item No swipe");
}
result.add(testModel);
}
return result;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_refresh, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_refresh) {
mAdapter.updateData(createTestDatas());
}
return super.onOptionsItemSelected(item);
}
}