RecyclerView

//主页面
public class MainActivity extends AppCompatActivity implements View.OnClickListener, Myadapter.onrecyclerview {

private Button tianjia;
private Button shanchu;
private Button list;
private Button grid;
private Button flot;
private RecyclerView recyclerview;
Myadapter myadapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_main );
    initView();
    ArrayList<String> list = new ArrayList<>();
    for(int x = 0 ; x<20;x++){
     list.add( "条目"+x );
    }
    myadapter = new Myadapter( getLayoutInflater() ,list );
    recyclerview.setAdapter( myadapter );

    myadapter.setOnrecyclerview( this );

    recyclerview.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL,false));
}

private void initView() {
    tianjia = (Button) findViewById( R.id.tianjia );
    shanchu = (Button) findViewById( R.id.shanchu );
    list = (Button) findViewById( R.id.list );
    grid = (Button) findViewById( R.id.grid );
    flot = (Button) findViewById( R.id.flot );
    recyclerview = (RecyclerView) findViewById( R.id.recyclerview );

    tianjia.setOnClickListener( this );
    shanchu.setOnClickListener( this );
    list.setOnClickListener( this );
    grid.setOnClickListener( this );
    flot.setOnClickListener( this );
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.tianjia:
            myadapter.addData( 0,"我是条目" );
            recyclerview.scrollToPosition( 0 );
            break;
        case R.id.shanchu:
            myadapter.removeData( 0 );
            break;
        case R.id.list:
            recyclerview.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL,false));
            break;
        case R.id.grid:
            recyclerview.setLayoutManager( new GridLayoutManager( this,3,GridLayoutManager.VERTICAL,false) );
            break;
        case R.id.flot:
            recyclerview.setLayoutManager( new StaggeredGridLayoutManager( 4,StaggeredGridLayoutManager.VERTICAL ) );
            break;
    }
}


@Override
public void recyclerviews(String data) {
    Toast.makeText( this, data, Toast.LENGTH_SHORT ).show();
}

}

//adapter
package com.example.myapplication;

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 java.util.ArrayList;

public class Myadapter extends RecyclerView.Adapter<Myadapter.Viewholder>{

private final LayoutInflater layoutInflater;
private final ArrayList<String> mlist;

public Myadapter(LayoutInflater layoutInflater, ArrayList<String> list) {
   this.layoutInflater = layoutInflater;
   mlist = list;
}

@Override
public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = layoutInflater.inflate( R.layout.image, null );
    Viewholder viewholder = new Viewholder( view );
    return viewholder;
}

@Override
public void onBindViewHolder(Viewholder holder, int position) {
    final String s = mlist.get( position );
    holder.text.setText( mlist.get(position) );
    holder.itemView.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mrecyclerview.recyclerviews(s);
        }
    } );
}

@Override
public int getItemCount() {
    return mlist.size();
}

public class Viewholder extends RecyclerView.ViewHolder {
    private ImageView imageview;
    private TextView text;
    public Viewholder(View itemView) {
        super( itemView );
        imageview = itemView.findViewById( R.id.imageview );
        text = itemView.findViewById( R.id.text );

    }
}
public void addData(int position,String s){
    mlist.add( 0,s );
    notifyDataSetChanged();
}
public void removeData(int position){
   mlist.remove( 0 );
    notifyDataSetChanged();
}




public interface onrecyclerview{
    void recyclerviews(String data);
}

private onrecyclerview  mrecyclerview;

public void setOnrecyclerview(onrecyclerview onrecyclerview){
    mrecyclerview = onrecyclerview;
}

/* public setre(recyclerview mrecyclerview) {
    this.mrecyclerview = mrecyclerview;
}*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值