在我的应用中,我使用了CardView
。单击卡片后,将打开另一个需要卡片ID的活动。因此,我也尝试通过用于打开活动的意图发送数据。
我的问题是,尽管共享值不同,但接收类中的接收值始终保持0
。我搞错了吗?
适配器的一部分:
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
final int a = dataAdapter.getId();
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, ChatActivity.class);
intent.putExtra("CardID", a);
context.startActivity(intent);
}
});
第二个获得值的类:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_layout);
Intent intent = getIntent();
int cardId = intent.getIntExtra("cardID", 0);
Log.d("cardId = ", String.valueOf(cardId));
}
答案 0 :(得分:5)
当u插入时,CardID“ C”为大写,而当u插入时,cardID“ c”为小写。区分大小写只需使它们大小写相同即可。
答案 1 :(得分:2)
替换为-
for i in arr:
print i
S
t
r
i
n
g
for i, ch in enumerate(arr):
print i, ch
0, S
1, t
2, r
3, i
4, n
5, g
缺少大写C。
答案 2 :(得分:-1)
如果dataAdapter是列表,则可以在onBindViewHolder()
中使用 position 参数。
intent.putExtra("CardID", dataAdapter.get(position));
,否则,只有在使用 recyclerViewAdapter
时,您才能使用getAdapterPosition()
intent.putExtra("CardID", dataAdapter.get(getAdapterPosition()));