android studio 列表,Android Studio [RecyclerView/列表视图]

LinearRecyclerViewActivity.java

package com.xdw.a122.recyclerview;

import android.graphics.Rect;

import android.support.annotation.NonNull;

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.View;

import android.widget.Toast;

import com.xdw.a122.R;

public class LinearRecyclerViewActivity extends AppCompatActivity {

private RecyclerView mRvmain;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_linear_recycler_view);

mRvmain=findViewById(R.id.rv_main);

mRvmain.setLayoutManager(new LinearLayoutManager(LinearRecyclerViewActivity.this));

mRvmain.addItemDecoration(new SimpleDividerItemDecoration(this,20, 5));

mRvmain.setAdapter(new LinearAdapter(LinearRecyclerViewActivity.this, new LinearAdapter.OnItemClickListener() {

@Override

public void onClick(int pos) {

Toast.makeText(LinearRecyclerViewActivity.this,"Click"+pos,Toast.LENGTH_LONG).show();

}

}));

}

class MyDecoration extends RecyclerView.ItemDecoration{

@Override

public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {

super.getItemOffsets(outRect, view, parent, state);

outRect.set(0,0,0,getResources().getDimensionPixelOffset(R.dimen.dividerHeight));

}

}

}

LinearAdapter.java

package com.xdw.a122.recyclerview;

import android.content.Context;

import android.support.annotation.NonNull;

import android.support.design.animation.Positioning;

import android.support.v7.widget.RecyclerView;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.TextView;

import android.widget.Toast;

import com.xdw.a122.R;

import java.util.List;

public class LinearAdapter extends RecyclerView.Adapter {

private Context mContext;

private OnItemClickListener mlistener; //分配空间

//private List list;

public LinearAdapter(Context context,OnItemClickListener listener){

this.mContext=context; //内容

this.mlistener=listener; //传输位置

}

@NonNull

@Override

public LinearAdapter.LinearViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

return new LinearViewHolder(LayoutInflater.from(mContext).inflate(R.layout.layout_linear_item,viewGroup,false));

}

@Override

public void onBindViewHolder(@NonNull LinearAdapter.LinearViewHolder viewHolder, final int i) {

viewHolder.textView.setText("Hello World"); //内容

viewHolder.itemView.setOnClickListener(new View.OnClickListener() { //监听器按键

@Override

public void onClick(View v) {

mlistener.onClick(i); //监听器

}

});

}

@Override

public int getItemCount() {

return 30;

}

class LinearViewHolder extends RecyclerView.ViewHolder{

public TextView textView;

public LinearViewHolder(@NonNull View itemView) {

super(itemView);

textView=itemView.findViewById(R.id.tv_title);

}

}

public interface OnItemClickListener{ //字节型监听器

void onClick(int pos);

}

}

RecyclerViewActivity

package com.xdw.a122.recyclerview;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import com.xdw.a122.R;

public class RecyclerViewActivity extends AppCompatActivity {

private Button mBtnLinear;

private Button mBtnHor;

private Button mBtnGrid;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_recycle_view);

mBtnLinear=findViewById(R.id.btn_linear);

mBtnLinear.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(RecyclerViewActivity.this,LinearRecyclerViewActivity.class);

startActivity(intent);

}

});

mBtnHor=findViewById(R.id.btn_hor);

mBtnHor.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(RecyclerViewActivity.this,HorRecyclerViewActivity.class);

startActivity(intent);

}

});

mBtnGrid=findViewById(R.id.btn_grid);

mBtnGrid.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent=new Intent(RecyclerViewActivity.this,GridRecyclerViewActivity.class);

startActivity(intent);

}

});

}

}

activity_layout_linear_item.xml

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

>

android:id="@+id/tv_title"

android:layout_width="match_parent"

android:layout_height="50dp"

android:gravity="center"

android:textColor="#000"

android:textSize="20sp"

/>

activity_linear_recycler_view.xml

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".recyclerview.LinearRecyclerViewActivity">

android:id="@+id/rv_main"

android:layout_width="match_parent"

android:layout_height="wrap_content"

/>

activity_recycler_view.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/btn_linear"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="列表视图"/>

android:id="@+id/btn_hor"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="水平滚动"/>

android:id="@+id/btn_grid"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="网格结构"/>

结果:

f73833652456ba53104272ea88309ea1.png

标签:视图,public,new,import,Android,view,RecyclerView,android,View

来源: https://www.cnblogs.com/zlc364624/p/10713825.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值