Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 回收器视图和卡片视图工作不正常_Android_Android Layout_Android Cardview_Android Recyclerview - Fatal编程技术网

Android 回收器视图和卡片视图工作不正常

Android 回收器视图和卡片视图工作不正常,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

只需查看main activity.xml 我所做的是在按钮下方显示回收器视图并编辑文本。。 编辑文本中的值被放入一张卡片中,但问题是按钮不起作用,我不知道为什么plz有帮助

我是新来的,所以请原谅我犯了一些错误

AdapterEx.java

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依赖项?或者你可以检查这个链接:是的,我已经指定了依赖项,我看到了几个例子,但问题不在于卡片视图,我是说按钮和回收器视图上方的文本视图不起作用