注意了:不要忘了倒recycleView包
布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center|left"
android:paddingLeft="20dp"
android:text="我的频道" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical|left"
android:paddingLeft="10dp"
android:text="单机增删频道,长按可以拖拽"
android:textSize="15sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C0C0C0" />
<android.support.v7.widget.RecyclerView
android:id="@+id/mine_recycleView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C0C0C0" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="其他频道" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C0C0C0" />
<android.support.v7.widget.RecyclerView
android:id="@+id/other_recycleView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
频道管理的主方法
public class PingDao extends Activity {
private RecyclerView mine_recycleView;
private RecyclerView other_recycleView;
private List<Bean.ResultBean.CategoryBean> list=new ArrayList<>();
private List<Bean.ResultBean.CategoryBean> list2=new ArrayList<>();
private MyBase2 myBase2;
private GridLayoutManager gridLayoutManager;
private GridLayoutManager gridLayoutManager2;
private MyBaseRe myBaseRe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pingdao);
initView();
initData();
}
private void initView() {
mine_recycleView = (RecyclerView) findViewById(R.id.mine_recycleView);
myBaseRe = new MyBaseRe(PingDao.this);
gridLayoutManager = new GridLayoutManager(this, 4);
mine_recycleView.setLayoutManager(gridLayoutManager);
other_recycleView = (RecyclerView) findViewById(R.id.other_recycleView);
myBase2 = new MyBase2(PingDao.this);
gridLayoutManager2 = new GridLayoutManager(this,4);
other_recycleView.setLayoutManager(gridLayoutManager2);
myBaseRe.setOnCilk(new MyBaseRe.onCilk() {
@Override
public void onCli(View v, int position) {
myData(position);
}
});
myBase2.setOnCilk(new MyBase2.onClik() {
@Override
public void onCli(View v, int position) {
elseData(position);
}
});
}
private void initData() {
//解析数据
RequestParams pa=new RequestParams("http://www.babybuy100.com/API/getShopOverview.ashx");
x.http().get(pa, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Log.e("sss",result);
Gson gson = new Gson();
Bean bean = gson.fromJson(result, Bean.class);
List<Bean.ResultBean.CategoryBean> data = bean.getResult().getCategory();
for (int i = 0; i <data.size() ; i++) {
if (i<=5){
list.add(data.get(i));
}else {
list2.add(data.get(i));
}
}
myBaseRe.setData(list);
mine_recycleView.setAdapter(myBaseRe);
// mine_recycleView.setAdapter(myBase);
myBaseRe.notifyDataSetChanged();
myBase2.setData(list2);
other_recycleView.setAdapter(myBase2);
myBase2.notifyDataSetChanged();
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
}
@Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
public void elseData(int position){
list.add(list2.get(position));
myBaseRe.setData(list);
myBaseRe.notifyDataSetChanged();
list2.remove(position);
myBase2.setData(list2);
myBase2.notifyDataSetChanged();
}
public void myData(int position){
list2.add(list.get(position));
myBase2.setData(list2);
myBase2.notifyDataSetChanged();
list.remove(position);
myBaseRe.setData(list);
myBaseRe.notifyDataSetChanged();
}
}
第一个适配器布局:
<TextView
android:textSize="20sp"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_01"/>
第一个适配器:
public class MyBase2 extends RecyclerView.Adapter{
private List<Bean.ResultBean.CategoryBean> list=new ArrayList<>();
private Context context;
public MyBase2(Context context)
{
this.context=context;
}
public void setData(List<Bean.ResultBean.CategoryBean> lists)
{
this.list=lists;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.item2, null);
MyViewHolder myViewHolder=new MyViewHolder(view);
return myViewHolder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
MyViewHolder myViewHolder= (MyViewHolder) holder;
myViewHolder.text_view.setText(list.get(position).getName());
myViewHolder.text_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
monClik.onCli(v,position);
}
});
}
@Override
public int getItemCount() {
return list.size();
}
static class MyViewHolder extends RecyclerView.ViewHolder
{
private final TextView text_view;
public MyViewHolder(View itemView) {
super(itemView);
text_view = (TextView) itemView.findViewById(R.id.text_02);
}
}
public interface onClik{
void onCli(View v, int position);
}
private onClik monClik;
public void setOnCilk(onClik onCilk){
this.monClik=onCilk;
}
}
第二个布局:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_02"/>
第二个适配器
public class MyBaseRe extends RecyclerView.Adapter{
private List<Bean.ResultBean.CategoryBean> list=new ArrayList<>();
private Context context;
private MyViewHolder myViewHolder;
public MyBaseRe(Context context)
{
this.context=context;
}
public void setData(List<Bean.ResultBean.CategoryBean> lists)
{
this.list=lists;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.item, null);
MyViewHolder myViewHolder=new MyViewHolder(view);
return myViewHolder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
myViewHolder = (MyViewHolder) holder;
myViewHolder.text_view.setText(list.get(position).getName());
myViewHolder.text_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
monCilk.onCli(v,position);
}
});
myViewHolder.text_view.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
monIteml.onItem(v,position);
return false;
}
});
}
@Override
public int getItemCount() {
return list.size();
}
static class MyViewHolder extends RecyclerView.ViewHolder
{
private final TextView text_view;
public MyViewHolder(View itemView) {
super(itemView);
text_view = (TextView) itemView.findViewById(R.id.text_01);
}
}
public interface onCilk{
void onCli(View v, int position);
}
public interface onIteml{
void onItem(View v, int position);
}
private onCilk monCilk;
public void setOnCilk(onCilk onCilk){
this.monCilk=onCilk;
}
private onIteml monIteml;
public void setOnItenl(onIteml onItenl){
this.monIteml=onItenl;
}
}