0

我没有收到错误,但无法在活动中显示图像

主要活动 :

Handler handler = new Handler();
EditText inputUrl;
OnClickListener getImageBtnOnClick = new OnClickListener() {
    public void onClick(View view) {
        Context context = view.getContext();
        Editable ed = inputUrl.getText();
        Drawable image = ImageOperations(context,ed.toString(),"image.jpg");
        final ImageView imgView = new ImageView(context);
        imgView.setImageDrawable(image);
        Handler handler = new Handler(); 
        handler.postDelayed(new Runnable() { 
                 public void run() { 
                 imgView.setImageResource(R.id.imageView1);

                 } 
            }, 10000);     

    }
};

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        inputUrl = ((EditText)findViewById(R.id.editText1));
        inputUrl.setSingleLine();
        inputUrl.setTextSize(11);
        Button getImageButton = (Button)findViewById(R.id.button1);
        getImageButton.setOnClickListener(getImageBtnOnClick);
    }


private Drawable ImageOperations(Context ctx, String url, String saveFilename) {
    try {
        InputStream is = (InputStream) this.fetch(url);
        Drawable d = Drawable.createFromStream(is, "src");
        return d;
    } catch (MalformedURLException e) {
        e.printStackTrace();
        return null;
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

public Object fetch(String address) throws MalformedURLException,IOException {
    URL url = new URL(address);
    Object content = url.getContent();
    return content;
}

如何解决?以间隔显示和运行图像?谢谢

4

1 回答 1

0

消除

imgView.setImageResource(R.id.imageView1);

并使用

image.setImageDrawable(image);  // image is your drawable

在您的处理程序中,使其变为,

handler.postDelayed(new Runnable() { 
                 public void run() { 
                 image.setImageDrawable(image);                   

                 } 
            }, 10000);  
于 2013-09-05T14:23:16.960 回答