gpt4 book ai didi

java - 我不知道如何完成此代码以显示 Collection 夹列表

转载 作者:行者123 更新时间:2023-11-29 02:28:27 25 4
gpt4 key购买 nike

早上好

我想将 Collection 夹列表添加到我的应用程序中,谁能帮我完成这段代码!!

我没有收到任何错误,但页面是空的。

任何帮助都很棒。

提前致谢!

FavoritesActivity.java(这里的代码我不知道怎么补)

public class FavoritesActivity extends AppCompatActivity {

RecyclerView recyclerView;
RecyclerView.LayoutManager layoutManager;

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

recyclerView = findViewById(R.id.recycler_favorites);
recyclerView.setHasFixedSize(true);

LinearLayoutManager myLayoutManager = new LinearLayoutManager(this);
myLayoutManager.setReverseLayout(true);
myLayoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(myLayoutManager);

loadFavorites();
}

private void loadFavorites() {

FavoritesAdapter adapter = new FavoritesAdapter
(this, new Database(this).getAllFavorites("foodId"));

recyclerView.setAdapter(adapter);

}

}

这里是 FavoritesAdapter.java

public class FavoritesAdapter extends RecyclerView.Adapter<FavoritesViewHolder> {

private Context context;
private List<Favorites> favoritesList;

public FavoritesAdapter(Context context, List<Favorites> favoritesList) {
this.context = context;
this.favoritesList = favoritesList;
}

@NonNull
@Override
public FavoritesViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(context).inflate(R.layout.favorites_item,parent,false);
return new FavoritesViewHolder(itemView);
}

@Override
public void onBindViewHolder(@NonNull FavoritesViewHolder viewHolder, final int position) {

viewHolder.food_name.setText(favoritesList.get(position).getName());
viewHolder.food_presenter.setText(String.format("%S", favoritesList.get(position).getName()));
Picasso.with(context).load(favoritesList.get(position).getImage())
.into(viewHolder.food_image);

final Favorites local = favoritesList.get(position);
viewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {

//Start New Activity (Description Activity)
Intent foodDetails = new Intent(context, FavoritesActivity.class);
foodDetails.putExtra("FoodId",favoritesList.get(position).getFoodId()); //Send food ID to new activity
context.startActivity(foodDetails);
}
});

}

@Override
public int getItemCount() {
return favoritesList.size();
}

public void removeItem(int position){
favoritesList.remove(position);
notifyItemRemoved(position);
}

public void restoreItem(Favorites item, int position){
favoritesList.add(position,item);
notifyItemInserted(position);
}

public Favorites getItem(int position){
return favoritesList.get(position);
}

}

这里是 Database.java

 public List<Favorites> getAllFavorites (String foodId)
{
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

String[] sqlSelect={"FoodId", "FoodName", "FoodImage", "FoodDescription", "FoodComponents",
"FoodMenuId", "FoodUserName"};
String sqlTable = "Favorites";

qb.setTables(sqlTable);
Cursor cursor = qb.query(db,sqlSelect,"FoodId=?", new String[]{foodId}, null,null,null);

final List<Favorites> result = new ArrayList<>();
if (cursor.moveToFirst())
{
do {
result.add(new Favorites(
cursor.getString(cursor.getColumnIndex("FoodId")),
cursor.getString(cursor.getColumnIndex("FoodName")),
cursor.getString(cursor.getColumnIndex("FoodImage")),
cursor.getString(cursor.getColumnIndex("FoodDescription")),
cursor.getString(cursor.getColumnIndex("FoodComponents")),
cursor.getString(cursor.getColumnIndex("FoodMenuId")),
cursor.getString(cursor.getColumnIndex("FoodUserName"))
));
}while (cursor.moveToNext());
}
return result;
}

最佳答案

在 loadFavorites() 方法上调用 adapter.notifyDataSetChanged()

关于java - 我不知道如何完成此代码以显示 Collection 夹列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com