gpt4 book ai didi

java - 自定义 ParseQueryAdapter 的问题

转载 作者:行者123 更新时间:2023-12-01 11:28:58 25 4
gpt4 key购买 nike

我正在构建应用程序的好友请求 View 。我正在尝试显示好友请求列表,您可以通过单击它们来接受它们。

这是我在 Activity 的 onCreate() 方法中运行的代码。正如您所看到的,我需要为当前用户的每个好友请求对象提供一个 ListView 项,我将其构建到 QueryAdapter 中。我想将每个 ListView 好友请求项的图像和文本设置为发送好友请求的用户的 profileImageMediumusername 字段。每个好友请求对象都指向发送请求的 fromUser

问题是 setTextKey()setImageKey() 方法不适用于这些键,因为它们是好友请求指向的对象的键。将文本和图像键设置到这些字段的最佳方法是什么

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

// Instantiate ParseQueryAdapter
final ParseQueryAdapter<ParseObject> friendRequestListAdapter =
new ParseQueryAdapter<ParseObject>(this, new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery<ParseObject> create() {
// Here we can configure a ParseQuery to our heart's desire.
ParseQuery<ParseObject> friendRequestQuery = new ParseQuery("FriendRequests");
friendRequestQuery.whereEqualTo("toUser", ParseUser.getCurrentUser());
friendRequestQuery.include("fromUser");

return friendRequestQuery;
}
});

// Set as adapter for our listview
ListView friendRequestListView = (ListView) findViewById(R.id.friendRequestListView);
friendRequestListView.setOnItemClickListener(friendRequestClickedHandler);
}

最佳答案

我认为您的解决方案是创建 ParseQueryAdapter 的子类并重写 getItemView() 方法。就像这样:

class QueryAdapter extends ParseQueryAdapter {
public QueryAdapter(Context context, ParseQueryAdapter.QueryFactory<T> queryFactory) {
super(context, queryFactory, 0);
}

@Override
public getItemView(ParseObject object, View v, ViewGroup parent) {
if (null == v) {
v = View.inflate(getContext(), R.layout.your_layout, null);
}
TextView name = (TextView) v.findViewById(R.id.text_view_id);
ImageView image = (ImageView) v.findViewById(R.id.image_view_id);
ParseUser fromUser = object.getParseUser("fromUser");
name.setText(fromUser.getString("username");
!-- Load your image here
}
}

我不知道你是如何加载图像的,但你有一个想法 - 如果你的profileImageMedium是URL,那么使用一些图像加载库,例如Picasso,或者如果是ParseFile,则更改ImageView在您的单元格中解析 ImageView 并调用

image.setParseFile(file);
image.loadInBackground();

然后在您的 Activity 中将 ParseQueryAdapter 更改为您的 QueryAdapter,并且不要忘记将您的 QueryAdapter 设置为 ListView

friendRequestListView.setAdapter(QueryAdapter);

关于java - 自定义 ParseQueryAdapter 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30583256/

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