//主页面
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;
}*/
}