I have been following this tutorial and the issue I'm hitting is that it can't resolve the symbol for nameText and countText. I have followed the tutorial as closely as possible and tried rebuilding the code but it hits the error and gives me a compilation failed message. I'm not quite sure what to do to fix it. Here is the code so far:
package com.example.android.sqliteappexamplegrocerylist;
import android.content.Context;
import android.database.Cursor;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import org.w3c.dom.Text;
public class GroceryAdapter extends RecyclerView.Adapter {
private Context mContext;
private Cursor mCursor;
public GroceryAdapter(Context context, Cursor cursor) {
mContext = context;
mCursor = cursor;
}
public class GroceryViewHolder extends RecyclerView.ViewHolder {
public TextView nameText;
public TextView countText;
public GroceryViewHolder(View itemView) {
super(itemView);
nameText = itemView.findViewById(R.id.textview_name_item);
countText = itemView.findViewById(R.id.textview_amount_item);
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(mContext);
View view = inflater.inflate(R.layout.grocery_item, parent, false);
return new GroceryViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if(!mCursor.move(position)) {
return;
}
String name = mCursor.getString(mCursor.getColumnIndex(GroceryContract.GroceryEntry.COLUMN_NAME));
int amount = mCursor.getInt(mCursor.getColumnIndex(GroceryContract.GroceryEntry.COLUMN_AMOUNT));
holder.nameText.setText(name);
holder.countText.setText(String.valueOf(amount));
}
@Override
public int getItemCount() {
return mCursor.getCount();
}
public void swapCursor(Cursor newCursor) {
if (mCursor != null) {
mCursor.close();
}
mCursor = newCursor;
if(newCursor != null) {
notifyDataSetChanged();
}
}
}
在类声明中应该是
public class GroceryAdapter extends RecyclerView.Adapter<GroceryAdapter.GroceryViewHolder>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.