-1

私のメイン レイアウトには、1 つの編集テキストと 1 つの検索ボタンがあります。テキスト フィールドにユーザー ID を入力してボタンをクリックすると、対応するユーザー ID のプロフィール写真が表示されます。誰でも私を助けてください?

4

1 に答える 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);

`

その後、onComplete()メソッドで後で(注:-私たちのアクティビティはRequestListenerを実装する必要があります):-

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 に答える