Java 制作最终的Android Studio
我在网上看了一段视频,但我一直在做这个,我不能把变量定为final。这段代码是在android studio中完成的 错误:找不到符号变量i 错误可在最后5行中找到Java 制作最终的Android Studio,java,android,final,Java,Android,Final,我在网上看了一段视频,但我一直在做这个,我不能把变量定为final。这段代码是在android studio中完成的 错误:找不到符号变量i 错误可在最后5行中找到 intent.putExtra(Common.KEY_TIME_SLOT, i); 我唯一的选择是: 创建局部变量 创建字段 创建参数 重命名引用 以下是全部代码: @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int pos
intent.putExtra(Common.KEY_TIME_SLOT, i);
我唯一的选择是:
- 创建局部变量
- 创建字段
- 创建参数
- 重命名引用
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.txt_time_slot.setText(new StringBuilder(Common.convertTimeSlotToString(position)).toString());
if(timeSlotList.size()==0)//if all is available, show list
{
holder.card_time_slot.setCardBackgroundColor(context.getResources().getColor(android.R.color.white));
holder.txt_time_slot_description.setText("Available");
holder.txt_time_slot_description.setTextColor(context.getResources().getColor(android.R.color.black));
holder.txt_time_slot.setTextColor(context.getResources().getColor(android.R.color.black));
}
else //if fully booked
{
for(TimeSlot slotValue:timeSlotList)
{
//loop all time slot from sever and set different color
int slot = Integer.parseInt(slotValue.getSlot().toString());
if(slot==position) // if slot == position
{
holder.card_time_slot.setTag(Common.DISABLE_TAG);
holder.card_time_slot.setCardBackgroundColor(context.getResources().getColor(android.R.color.darker_gray));
holder.txt_time_slot_description.setText("BOOKED");
holder.txt_time_slot_description.setTextColor(context.getResources()
.getColor(android.R.color.white));
holder.txt_time_slot.setTextColor(context.getResources().getColor(android.R.color.white));
}
}
}
//add available time slot
if (!cardViewList.contains(holder.card_time_slot))
cardViewList.add(holder.card_time_slot);
//check if slot is available
holder.setiRecyclerItemSelectedListener(new IRecyclerItemSelectedListener() {
@Override
public void onItemSelectedListener(View view, int pos) {
//loop all slots
for(CardView cardView:cardViewList)
{
if (cardView.getTag() == null)
cardView.setCardBackgroundColor(context.getResources()
.getColor(android.R.color.white));
}
//selected slot will change color
holder.card_time_slot.setCardBackgroundColor(context.getResources()
.getColor(android.R.color.holo_orange_dark));
//once selected, send signal to next button
Intent intent = new Intent(Common.KEY_ENABLE_BUTTON_NEXT);
intent.putExtra(Common.KEY_TIME_SLOT, i); // error. in the video it shows that i can make "i" final but on my end it does not show that option.
intent.putExtra(Common.KEY_STEP,3); //going step 3
localBroadcastManager.sendBroadcast(intent);
}
});
问题不在于它不是final(您可以在变量final之前键入单词final使其成为final)。问题是它根本不存在。在任何地方都没有名为i的变量
我可能是pos,实际选中的项目。错误显示“找不到符号变量i”,您必须首先创建变量,并将其设置为final do:
final int i=0代码>单击“创建字段”。输入:没有这个名字的变量谢谢。这是通过将i更改为pos来整理的参数pos。