如何为动态大小的 CardViews 显示数字(从 1 到 n)?
How to display numbers (starting from 1 to n) for CardViews of dynamic size?
我有一个主 class,其中有一个 CardView
和一个添加按钮。单击添加 Button
,我们可以在下面添加一个卡片视图。它的工作原理基本上是我将 card.xm
l 布局合并到我的主 class 中作为添加的容器布局。
现在我想为每张卡片分配一个数字(集合),基本上显示 1、2、3 等,随着每个添加的卡片视图在顶部的主视图下方增加。
但是,当我在 addcard
方法中增加数字时,应用程序崩溃了。
主要class:
int set = 1;
在onCreate
方法中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cardsscreen);
add = findViewById(R.id.addperff);
layout = findViewById(R.id.container);
textView2 = findViewById(R.id.textViewSets);
textView2.setText(""+set);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addCard();
}
});
Intent secondIntent = getIntent(); //getting the title from other class
String message = secondIntent.getStringExtra("One");
TextView textView = (TextView) findViewById(R.id.type);
textView.setText(message);
}
private void addCard() {
final View view = getLayoutInflater().inflate(R.layout.card, null);
++set;
TextView textView3 = findViewById(R.id.textViewSets2);
textView3.setText(""+set);
layout.addView(view);
}
}
基本上我有一个水平布局,文本(视图)在顶部,用户编辑文本输入一个数字。基本上是3个cardviews的水平布局。
你为什么不试试这个?:
private void addCard() {
final View view = getLayoutInflater().inflate(R.layout.card, null);
++set;
TextView textView = new TextView(this);
textView.setText(""+set);
layout.addView(view);
}
尝试改变
TextView textView3 = findViewById(R.id.textViewSets2);
至
TextView textView3 = view.findViewById(R.id.textViewSets2);
我假设这个 R.id.textViewSets2
在刚刚膨胀的视图中,而不是在你的 activity 中
我有一个主 class,其中有一个 CardView
和一个添加按钮。单击添加 Button
,我们可以在下面添加一个卡片视图。它的工作原理基本上是我将 card.xm
l 布局合并到我的主 class 中作为添加的容器布局。
现在我想为每张卡片分配一个数字(集合),基本上显示 1、2、3 等,随着每个添加的卡片视图在顶部的主视图下方增加。
但是,当我在 addcard
方法中增加数字时,应用程序崩溃了。
主要class:
int set = 1;
在onCreate
方法中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cardsscreen);
add = findViewById(R.id.addperff);
layout = findViewById(R.id.container);
textView2 = findViewById(R.id.textViewSets);
textView2.setText(""+set);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addCard();
}
});
Intent secondIntent = getIntent(); //getting the title from other class
String message = secondIntent.getStringExtra("One");
TextView textView = (TextView) findViewById(R.id.type);
textView.setText(message);
}
private void addCard() {
final View view = getLayoutInflater().inflate(R.layout.card, null);
++set;
TextView textView3 = findViewById(R.id.textViewSets2);
textView3.setText(""+set);
layout.addView(view);
}
}
基本上我有一个水平布局,文本(视图)在顶部,用户编辑文本输入一个数字。基本上是3个cardviews的水平布局。
你为什么不试试这个?:
private void addCard() {
final View view = getLayoutInflater().inflate(R.layout.card, null);
++set;
TextView textView = new TextView(this);
textView.setText(""+set);
layout.addView(view);
}
尝试改变
TextView textView3 = findViewById(R.id.textViewSets2);
至
TextView textView3 = view.findViewById(R.id.textViewSets2);
我假设这个 R.id.textViewSets2
在刚刚膨胀的视图中,而不是在你的 activity 中