在我的主布局中,有一个编辑文本和一个搜索按钮。当我在用用户 ID 填充文本字段后单击按钮时,它将显示相应用户 ID 的个人资料照片。有人帮我吗?
问问题
103 次
1 回答
1
首先,它确实是一种奇怪的方式(输入用户 ID,我怎么知道任何人的用户 ID)......最好先获取您的朋友列表,然后任何朋友节目的 onClick() 显示图片。
无论如何,根据您的问题,您需要发送这样的查询
Bundle paramsFriends = new Bundle();
paramsFriends.putString("method", "fql.query");
paramsFriends.putString("query", Constants.QUERY_FRIENDS);
/**
* Show the Progress Bar
*/
mProgressBar = new ProgressDialog(this);
mProgressBar.setCancelable(true);
mProgressBar.setMessage("Getting Friend List...");
mProgressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressBar.setProgress(0);
mProgressBar.setMax(100);
mProgressBar.show();
// The fourth param is like an id (state) to distinguish among
// different requests
mAsyncRunner.request(null, paramsFriends, this,
Constants.QUERY_FRIENDS);
`
然后稍后(注意:-您的活动必须实现 RequestListener)在 onComplete() 方法中执行:-
public void onComplete(String response, Object state) {
Log.v(" FQLRequestListener = ", "onComplete()");
// friend list
if (state.equals(Constants.QUERY_FRIENDS)) {
Log.v("response", "" + response);
Log.v("state", "" + state);
Log.v("Display ", "Goto the new Activity to show FRIEND LIST");
if (response != null) {
mProgressBar.dismiss();
// response is the JSON respone
// parse it to get the url of the image
// download the pic from the url
// then show it where ever you want
}
}
}
最后只要确保
Constants.QUERY_FRIENDS = "SELECT uid, name,username,sex,pic_small FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())";
这将为您提供整个朋友列表,只需将 onItemClickListener() 添加到您的列表中并相应地解析 json 响应以显示正确的图片。
希望解释是有用的....
于 2012-10-03T10:09:13.140 回答