java - 接受 URL 作为参数并返回 Java 中的 ImageView

标签 java android bitmap imageview

我几天来一直在努力下定决心,但还没有成功。请善意地帮助我。 我需要编写一个函数来接受 URL 作为参数并返回 ImageView。 有人可以告诉我如何修改这段代码来做到这一点吗?它在 imgURL.setImageBitmap(directory.getString(TAG_IMAGE));

下给了我红线
public class ViewProfileActivity extends Activity {

    ImageView imgURL;
    TextView txtName;

    String eid; 

    private ProgressDialog pDialog;

    JSONParser jsonParser = new JSONParser();

    private static final String url_veiw_directory = "http://website.com/app/include/view_directory.php";

    private static final String TAG_SUCCESS = "success";
    private static final String TAG_DIRECTORY = "directory";
    private static final String TAG_ID = "eid";
    private static final String TAG_IMAGE = "image";
    private static final String TAG_NAME = "name";  

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.view_directory);

        Intent i = getIntent();

        eid = i.getStringExtra(TAG_ID);     


        new GetDirectoryDetails().execute();

    }   

    class GetDirectoryDetails extends AsyncTask<String, String, String> {

        protected String doInBackground(String... params) {

            runOnUiThread(new Runnable() {
                public void run() {

                    int success;
                    try {

                        List<NameValuePair> params = new ArrayList<NameValuePair>();
                        params.add(new BasicNameValuePair("id", eid));

                        JSONObject json = jsonParser.makeHttpRequest(url_veiw_directory, "GET", params);

                        Log.d("Single Directory Details", json.toString());

                        success = json.getInt(TAG_SUCCESS);
                        if (success == 1) {                     

                            JSONArray directoryObj = json.getJSONArray(TAG_DIRECTORY);  
                            JSONObject directory = directoryObj.getJSONObject(0);

                            imgURL = (ImageView) findViewById(R.id.image);
                            txtName = (TextView) findViewById(R.id.name);                       


                            imgURL.setImageBitmap(directory.getString(TAG_IMAGE));
                            txtName.setText(directory.getString(TAG_NAME));                         


                        }else{

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            });

            return null;
        }

        protected void onPostExecute(String file_url) {
            pDialog.dismiss();
        }

    }
}

最佳答案

http://developer.android.com/reference/android/widget/ImageView.html#setImageBitmap%28android.graphics.Bitmap%29

ImageView 中没有接受字符串作为参数的 setImageBitmap() 方法。您必须提供位图。

相反,您可以使用 BitmapFactory创建位图,如下所示:

setImageBitmap(BitmapFactory.decodeFile(directory.getString(TAG_IMAGE)));

编辑:抱歉,忘记这是您要解码的网址。请参阅@MarchingHome 的答案。

关于java - 接受 URL 作为参数并返回 Java 中的 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922830/

相关文章:

java - SSH 输出始终为空

java - 如何在java中过滤数组列表

c++ - LoadImage() (Windows) 找不到文件错误

java - 在 Android 中获取图像时出现 System.err

android - 使用 asmack 向 gtalk 发送多条聊天消息;乱序

java - 用于 SCTP 实现的 OpenJDK 或 Sun JDK

java - 在 Java 中,为什么父类(super class)方法不能从子类实例访问 protected 或私有(private)方法/变量?

Java 8 日期时间格式化程序 : confusion with 'z' and 'Z ' pattern letters

在c中将大端转换为小端。警告 :return from incompatible pointer type [-Wincompatible-pointer-types] return src;

java - 这本Java书有错误吗?或者我错过了什么? (显示模式)