有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在约束布局中以编程方式创建多个动态CardView?

我希望从数据库中获取数据,并用不同的信息复制这种CardView格式,但我面临有关约束布局约束的问题。我想将下一个CardView的顶部设置为上一个CardView的底部,但两个CardView的ID都将实时生成

此时,我有这个示例CardView的代码,但它现在出现在(0,0)位置。有没有人有这样做的意见或替代方案

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

        //activity constraint layout
        ConstraintLayout constraintLayout = findViewById(R.id.parentlayout);

        //Adding 2 CardViews
        for (int i = 1; i <= 2; i++) {
            CardView cardview = new CardView(this);

            layoutparams = new ConstraintLayout.LayoutParams(
                    ConstraintLayout.LayoutParams.MATCH_PARENT,
                    ConstraintLayout.LayoutParams.WRAP_CONTENT
            );
            layoutparams.bottomMargin = 10;
           
            cardview.setLayoutParams(layoutparams);
            cardview.setRadius(5);
            cardview.setPadding(10, 10, 10, 10);
            cardview.setCardBackgroundColor(Color.GRAY);
            cardview.setMaxCardElevation(8);
            TextView textview = new TextView(this);
            textview.setLayoutParams(layoutparams);
            textview.setText("CardView Programmatically");
            textview.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 25);
            textview.setTextColor(Color.WHITE);
            textview.setPadding(25, 25, 25, 25);
            textview.setGravity(Gravity.CENTER);
            cardview.addView(textview);
            constraintLayout.addView(cardview);
            id = i;
        }
    }

CardView to be replicated


共 (0) 个答案