当前位置: 首页 > 知识库问答 >
问题:

即使在wrapcontent中,我的cardview也会离开屏幕

柴声
2023-03-14

我的问题-

我的cardview正在屏幕上显示(可以在图像中看到),即使上面说的是matchparent。

我的数据库节点请帮助。。。。。。。这是bug还是smth?

我在做什么=我正在尝试在回收器视图中从firebase检索数据,正在检索数据,但回收器视图的项目出现问题,因为cardview在屏幕外有一半,即使cardview设置为matchparent和wrapcontent,请尽可能提供帮助

我的回收项目

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
    android:id="@+id/Cdate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hi"
    android:textSize="50dp"
    android:layout_gravity="center"
    android:layout_marginTop="20dp"/>
    </androidx.cardview.widget.CardView>

我的Adapterclass

package com.sjsbhints.pdfmanager;

  import android.view.LayoutInflater;
   import android.view.View;
     import android.view.ViewGroup;
     import android.widget.TextView;

    import androidx.annotation.NonNull;
    import androidx.recyclerview.widget.RecyclerView;

  import com.firebase.ui.database.FirebaseRecyclerAdapter;
  import com.firebase.ui.database.FirebaseRecyclerOptions;

  public class CAdapter extends FirebaseRecyclerAdapter<Cmodel,CAdapter.myViewHolder> {

/**
 * Initialize a {@link RecyclerView.Adapter} that listens to a Firebase query. See
 * {@link FirebaseRecyclerOptions} for configuration options.
 *
 * @param options
 */
public CAdapter(@NonNull FirebaseRecyclerOptions<Cmodel> options) {
    super(options);
}

@Override
protected void onBindViewHolder(@NonNull myViewHolder holder, int position, @NonNull Cmodel model) {

  //         if(model.Cdate.isEmpty()){
     //             holder.Cdate.setText("Null");
       //         }
        holder.Cdate.setText(model.getCdate());
     //        holder.Cheading.setText(model.getCheading());
     //       holder.Cbody.setText(model.getCbody());

}

@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.circular_item,parent,false);

    return new myViewHolder(view);
}

class myViewHolder extends RecyclerView.ViewHolder{

    TextView Cdate,Cheading,Cbody,Ndate,Nheading,Nsheading,Nbody,Tdate,Tsubject,Ttopic,Ttdate;

    public myViewHolder(@NonNull View itemView) {
        super(itemView);

          Cdate = itemView.findViewById(R.id.Cdate);
    //            Cheading = itemView.findViewById(R.id.cheading);
  //            Cbody = itemView.findViewById(R.id.cbody);
                }
               }
                }

我的模型类

package com.sjsbhints.pdfmanager;

public class Cmodel {

String Cdate,Cheading,Cbody,Ndate,Nheading,Nsheading,Nbody,Tdate,Tsubject,Ttopic,Ttdate;

Cmodel(){
}

public Cmodel(String cdate, String cheading, String cbody, String ndate, String nheading, String nsheading, String nbody, String tdate, String tsubject, String ttopic, String ttdate) {
    Cdate = cdate;
    Cheading = cheading;
    Cbody = cbody;
    Ndate = ndate;
    Nheading = nheading;
    Nsheading = nsheading;
    Nbody = nbody;
    Tdate = tdate;
    Tsubject = tsubject;
    Ttopic = ttopic;
    Ttdate = ttdate;
}

public String getCdate() {
    return Cdate;
}

public void setCdate(String cdate) {
    Cdate = cdate;
}

public String getCheading() {
    return Cheading;
}

public void setCheading(String cheading) {
    Cheading = cheading;
}

public String getCbody() {
    return Cbody;
}

public void setCbody(String cbody) {
    Cbody = cbody;
}

public String getNdate() {
    return Ndate;
}

public void setNdate(String ndate) {
    Ndate = ndate;
}

public String getNheading() {
    return Nheading;
}

public void setNheading(String nheading) {
    Nheading = nheading;
}

public String getNsheading() {
    return Nsheading;
}

public void setNsheading(String nsheading) {
    Nsheading = nsheading;
}

public String getNbody() {
    return Nbody;
}

public void setNbody(String nbody) {
    Nbody = nbody;
}

public String getTdate() {
    return Tdate;
}

public void setTdate(String tdate) {
    Tdate = tdate;
}

public String getTsubject() {
    return Tsubject;
}

public void setTsubject(String tsubject) {
    Tsubject = tsubject;
}

public String getTtopic() {
    return Ttopic;
}

public void setTtopic(String ttopic) {
    Ttopic = ttopic;
}

public String getTtdate() {
    return Ttdate;
}

public void setTtdate(String ttdate) {
    Ttdate = ttdate;
}
}

我的主要活动

       package com.sjsbhints.pdfmanager;

          import androidx.annotation.Nullable;
        import androidx.appcompat.app.AppCompatActivity;
          import androidx.recyclerview.widget.LinearLayoutManager;
        import androidx.recyclerview.widget.RecyclerView;

         import android.os.Bundle;

           import com.firebase.ui.database.FirebaseRecyclerOptions;
          import com.google.firebase.database.FirebaseDatabase;

   public class CircularAct extends AppCompatActivity {

RecyclerView recyclerView;
CAdapter cAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_circular2);

    recyclerView = findViewById(R.id.rv);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));



    FirebaseRecyclerOptions<Cmodel> options =
            new FirebaseRecyclerOptions.Builder<Cmodel>()
                    .setQuery(FirebaseDatabase.getInstance().getReference().child("CircularData"), Cmodel.class)
                    .build();

    cAdapter = new CAdapter(options);
    recyclerView.setAdapter(cAdapter);

}


@Override
protected void onStart() {
    super.onStart();
    cAdapter.startListening();
}

@Override
protected void onStop() {
    super.onStop();
    cAdapter.stopListening();
}
}

我的主要活动Xml

   <?xml version="1.0" encoding="utf-8"?>
      <androidx.constraintlayout.widget.ConstraintLayout 
     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"
     tools:context=".CircularAct">

     <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/rv"
    android:layout_width="599dp"
    android:layout_height="960dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>

共有1个答案

华锦
2023-03-14

您的CardView与父视图的宽度完全匹配,因为它继承了RecyclerView的宽度,因为它是其父视图。

另一方面,回收站视图的宽度为599dp。固定大小意味着它将忽略设备的宽度。要匹配设备的宽度和高度,请将其设置为match_parent或使用0dp,因为您在案例中使用了约束布局。

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/rv"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>
 类似资料:
  • 我正在使用一个内部带有CardView的GridLayout来显示一组对象,供用户单击并在应用程序中导航。 在我正在测试的平板电脑上,一切似乎都很好,但当我将APK发送给朋友时,有三分之二的APK从屏幕上消失了,似乎不起作用。 示例屏幕截图: 这里的“游戏”部分似乎工作得很好。由于找不到任何错误,我将此部分复制并粘贴到“Community”部分中,只是重新命名了图标,以便代码除了几个字符串之外是相

  • 问题内容: 我正在学习如何在Android中使用线程,并且为此,我制作了一个播放一系列笔记的小型应用程序。这个想法是,有一个开始按钮和一个结束按钮,(显然)如果您按下开始按钮,它将开始播放音乐,而如果您按下结束按钮,它将停止播放。开始按钮可以正常工作,但是问题是结束按钮不能正常工作。我在找出原因时遇到了麻烦,因此也许有些人可以帮助我。这是代码: 问题答案: 您正在调用正在播放的线程,但此时可能正在

  • 当屏幕打开时(无论锁定还是解锁),它对DidEnterRegion和DidexitRegion都能正确工作。 尽管如此,当屏幕打开时(通过按home或power按钮,或者一些通知来照亮屏幕,不需要解锁),应用程序会立即收到DidEnterRegion之后的电话。 有人发现了可以帮忙吗?THX.

  • 即使屏幕被锁定,如何在设备上开始活动。我尝试了下面的方法,但是不起作用。 广播接收器:

  • 问题内容: 我正在阅读揭露java.lang.Out OfMemoryError,我想知道我是否正确理解它。的确,如果Java VM抛出 :请求的阵列大小超出VM限制 这意味着VM拒绝了数组的创建,因为它已经超出了预定义的限制(超出了VM的限制),而 不是 因为我的堆空间用完了吗? 我是否可以说这并不表示记忆不足? 即使我有 无限的 记忆 无处不在 ,Java虚拟机仍然可以抛出,如果它不喜欢我的请

  • 我正在尝试使用图像创建。网格有3列。 但我有一些问题: 正在离开屏幕,如下图所示。未正确设置s的宽度以适应。 这是我当前的代码。我应该改变什么来解决我的两个问题? 根据这个答案,我尝试使用以下布局: 但它看起来像下图。每个图像视图占据整个屏幕的宽度: http://i.imgur.com/p8AXcKN.png