Recycler+cardsview

来源:互联网 发布:办公软件速成班北京 编辑:程序博客网 时间:2024/06/06 12:47
compile 'com.android.support:cardview-v7:24.0.0'compile 'com.android.support:recyclerview-v7:25.0.0'
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"><android.support.v7.widget.RecyclerView    android:id="@+id/rec"    android:background="#ffffff"    android:layout_width="match_parent"    android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView></RelativeLayout>




<?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    android:orientation="vertical"    android:layout_width="match_parent"    android:id="@+id/cards"    android:layout_height="wrap_content"    app:cardCornerRadius="16dp"    app:cardElevation="16dp"    >    <LinearLayout        android:layout_width="match_parent"        android:orientation="horizontal"        android:layout_height="wrap_content">        <ImageView            android:id="@+id/head"            android:src="@mipmap/ic_launcher"            android:layout_width="150dp"            android:layout_height="100dp" />        <TextView            android:text="标题"            android:id="@+id/title"            android:layout_weight="1"            android:gravity="right"            android:layout_gravity="center"            android:layout_marginRight="10dp"            android:layout_width="wrap_content"            android:layout_height="wrap_content" />    </LinearLayout></android.support.v7.widget.CardView>menu
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item android:id="@+id/Gridview"        android:title="Listview"        ></item>    <item android:id="@+id/Listview"        android:title="Gridview"        ></item></menu>



package fengranbawei.com.baway.yuekao4.fengranstexts;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.support.v7.widget.StaggeredGridLayoutManager;import android.util.Log;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;import android.view.Window;import com.google.gson.Gson;import java.io.IOException;import java.io.InputStream;public class MainActivity extends AppCompatActivity {    private RecyclerView recyclerView;    private Mynews mynews;    private MyAdapter mm;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏        setContentView(R.layout.activity_main);        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title);        recyclerView = (RecyclerView) findViewById(R.id.rec);        //设置布局        //  getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.title);        try {            getdara();        } catch (IOException e) {            e.printStackTrace();        }    }    private void getdara() throws IOException {        InputStream open = getAssets().open("data.txt");        final String getstr = MyUtils.getstr(open);        Gson gson = new Gson();        mynews = gson.fromJson(getstr, Mynews.class);        recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));        recyclerView.addItemDecoration(new DividerItemDecoration(this,                DividerItemDecoration.VERTICAL));        mm = new MyAdapter(mynews.getApk(), MainActivity.this);        recyclerView.setAdapter(mm);        mm.Onitemlongclick(new MyAdapter.OnItemclick() {            @Override            public void getdata(View view, int position) {                Log.e("ss","!@3");                mm.remove(position);            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // TODO Auto-generated method stub        MenuInflater inflater = getMenuInflater();        inflater.inflate(R.menu.result_menu, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // TODO Auto-generated method stub        switch(item.getItemId()) {            case R.id.Listview :{            //   recyclerView.setLayoutManager(new GridLayoutManager(this,2));                recyclerView.setLayoutManager(new StaggeredGridLayoutManager(4,                        StaggeredGridLayoutManager.HORIZONTAL));                mm.notifyDataSetChanged();                break;            }            case R.id.Gridview:{                recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));                break;            }        }        return true;    }}





package fengranbawei.com.baway.yuekao4.fengranstexts;import android.content.Context;import android.support.v7.widget.CardView;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by Administrator on 2017/5/2. */public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Myholder> {    private List<Mynews.ApkBean>list;    private Context context;    public MyAdapter(List<Mynews.ApkBean> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public Myholder onCreateViewHolder(ViewGroup parent, int viewType) {        Myholder holder = new Myholder(LayoutInflater.from(                context).inflate(R.layout.item_recy, parent,                false));        return holder;    }    @Override    public void onBindViewHolder(final Myholder holder, final int position) {        //  Glide.with(context).load(list.get(position).getIconUrl()).into(head);        ImageLoader.getInstance().displayImage(list.get(position).getIconUrl(),holder.head); //        holder.title.setText(list.get(position).getName());        //设置长按事件        //拿到条目的长按事件        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {            @Override            public boolean onLongClick(View v) {                //将数据通过条目的长按事件传递过去                lisntner.getdata(v,holder.getLayoutPosition());                return true;            }        });        //移除数据    }    public void remove(int position) {        list.remove(position);        notifyItemRemoved(position);    }    @Override    public int getItemCount() {        return list.size();    }    class Myholder extends RecyclerView.ViewHolder{        CardView cards;        ImageView head;        TextView title;        public Myholder(View itemView) {            super(itemView);            head= (ImageView) itemView.findViewById(R.id.head);            cards= (CardView) itemView.findViewById(R.id.cards);            title= (TextView) itemView.findViewById(R.id.title);        }    }    OnItemclick lisntner;    public interface  OnItemclick{        void getdata(View view,int position);    }    public void  Onitemlongclick(OnItemclick lisntner){        this.lisntner=lisntner;    }}


0 0