Android 回收器视图和卡片视图工作不正常
只需查看main activity.xml 我所做的是在按钮下方显示回收器视图并编辑文本。。 编辑文本中的值被放入一张卡片中,但问题是按钮不起作用,我不知道为什么plz有帮助 我是新来的,所以请原谅我犯了一些错误 AdapterEx.javaAndroid 回收器视图和卡片视图工作不正常,android,android-layout,android-cardview,android-recyclerview,Android,Android Layout,Android Cardview,Android Recyclerview,只需查看main activity.xml 我所做的是在按钮下方显示回收器视图并编辑文本。。 编辑文本中的值被放入一张卡片中,但问题是按钮不起作用,我不知道为什么plz有帮助 我是新来的,所以请原谅我犯了一些错误 AdapterEx.java import android.support.design.widget.Snackbar; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater
import android.support.design.widget.Snackbar;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
public class AdapterEx extends RecyclerView.Adapter<AdapterEx.ViewHolder>{
private List<String> nos;
public AdapterEx(List<String> nos){
this.nos = nos;
}
class ViewHolder extends RecyclerView.ViewHolder{
public TextView number;
public ViewHolder(View itemView) {
super(itemView);
number =
(TextView)itemView.findViewById(R.id.nos);
itemView.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
int position = getAdapterPosition();
Snackbar.make(v, "Click detected on item " + position,
Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.number.setText(nos.get(i));
}
@Override
public int getItemCount() {
return nos.size();
}
}
导入android.support.design.widget.Snackbar;
导入android.support.v7.widget.RecyclerView;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.TextView;
导入java.util.List;
公共类AdapterEx扩展了RecyclerView.Adapter{
私人名单编号;
公共适配器(列表编号){
这个.nos=nos;
}
类ViewHolder扩展了RecyclerView.ViewHolder{
公共文本视图编号;
公共视图持有者(视图项视图){
超级(项目视图);
数=
(TextView)itemView.findViewById(R.id.nos);
itemView.setOnClickListener(新视图.OnClickListener(){
@覆盖公共void onClick(视图v){
int position=getAdapterPosition();
Snackbar.make(v,“在项目上检测到点击”+位置,
蛇形条长度(长)
.setAction(“Action”,null).show();
}
});
}
}
@凌驾
公共视图持有者onCreateViewHolder(视图组视图组,int i){
视图v=LayoutInflater.from(viewGroup.getContext())
.充气(R.layout.card,视图组,假);
视窗夹持器视窗夹持器=新视窗夹持器(v);
返回视图持有者;
}
@凌驾
公共无效onBindViewHolder(ViewHolder ViewHolder,int i){
viewHolder.number.setText(nos.get(i));
}
@凌驾
public int getItemCount(){
返回编号大小();
}
}
初始化回收器视图
recycler = (RecyclerView) findViewById(R.id.rv);
LayoutManager manager = new LinearLayoutManager(this);
recycler.setLayoutManager(manager);
nos = new ArrayList<>();
nos.add("sadasd");
nos.add("sdada");
adapter = new AdapterEx(nos);
recycler.setAdapter(adapter);
recycler.setHasFixedSize(true);
recycler.setItemAnimator(new DefaultItemAnimator());
recycler=(RecyclerView)findViewById(R.id.rv);
LayoutManager=新的LinearLayoutManager(此);
回收商。setLayoutManager(经理);
nos=新的ArrayList();
新增(“萨达斯德”);
添加编号(“sdada”);
适配器=新适配器(个);
回收器。设置适配器(适配器);
回收商。setHasFixedSize(真);
setItemAnimator(新的DefaultItemAnimator());
主要活动。xml
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.dev99.mathbuddy.prime"
android:id="@+id/prime"
android:background="@drawable/prime">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:inputType="number|numberDecimal|numberSigned"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FACTORISE IT!"
android:id="@+id/button5"
android:onClick="checker"
android:nestedScrollingEnabled="false"
android:layout_below="@+id/editText"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/editText2"
android:layout_below="@+id/button5"
android:textAlignment="center"
android:textSize="30dp"
android:textColor="#000000"
android:layout_alignParentStart="false"
android:layout_alignParentLeft="false" />
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rv">
</android.support.v7.widget.RecyclerView>
</android.support.design.widget.CoordinatorLayout>
card view.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_margin="10dp"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp"
card_view:cardBackgroundColor="@color/bluemat"
card_view:cardElevation="10dp"
card_view:contentPadding="4dp"
android:clickable="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/nos"
android:textSize="40dp"
android:textStyle="bold"
android:textAlignment="center"
android:layout_gravity="center"
android:textColor="@color/red"/>
</android.support.v7.widget.CardView>
问题是
RecyclerView
带有wrap\u内容
。
由于某些原因,
RecyclerView
无法很好地显示最后一项或最后几项。我遇到的最常见问题是最后一个项目被切断。问题是RecyclerView
带有wrap\u内容。
由于某些原因,RecyclerView
无法很好地显示最后一项或最后几项。我遇到的最常见问题是最后一项被切断。您是否在gradle文件中实现了cardview和recyclerview依赖项?或者您可以查看此链接:是的,我指定了依赖项,我看到了几个示例,但问题不在于卡片视图,我是说,回收器视图上方的按钮和文本视图不起作用。您是否在gradle文件中实现了cardview和recyclerview依赖项?或者你可以检查这个链接:是的,我已经指定了依赖项,我看到了几个例子,但问题不在于卡片视图,我是说按钮和回收器视图上方的文本视图不起作用