android - 对异步图像加载感到困惑

标签 android

我正在尝试使用 AsyncTask 类从原始文件夹中检索图像。我在这个样本上工作了几个小时。 .我没有得到任何异常,但屏幕上不会显示任何内容。可能遗漏了很多东西。你能检查一下我的代码吗?我又做错了什么

public class MainActivity extends Activity {

    ImageView img;
    asynclass Myclass;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img=new ImageView(this);
    /***
     *  Field[] filelds=R.raw.class.getFields();
        String [] names=new String[filelds.length];
    for (int i = 0; i < filelds.length; i++) {
       names[i]=filelds[i].getName()+".jpg";

        }
     * 
     * 
     * 
     * */

        //Toast.makeText(MainActivity.this, names[0], 0).show();
        String s="android.resource://"+getApplication().getPackageName()+"/raw/d.jpg/";

        this.setContentView(img, 
            new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        Myclass=(asynclass) new asynclass().execute(s);


    }

    public class asynclass extends AsyncTask<String, Void, Bitmap>{

        @Override
        protected Bitmap doInBackground(String... params) {

            Bitmap bmp=null;

            bmp=BitmapFactory.decodeFile(params[0]);

            return bmp;
        }



        @Override
        protected void onPostExecute(Bitmap result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);
            if(result!=null){
                img.setImageBitmap(result);

            }
        }

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            // TODO Auto-generated method stub
            super.onProgressUpdate(values);
        }



    }

最佳答案

我看到的一些东西:

1) 您可以使用 R.raw.fileNameraw 文件夹访问资源。

2) 你不应该多次调用 setContentView()

3) 无需转换您的AsyncTask

我建议您花一些时间复习一些教程,这样您就可以打下坚实的 Android 基础。

关于android - 对异步图像加载感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23740744/

相关文章:

java - 获取 java.lang.IllegalStateException : Could not execute method of the activity after adding BigDecimal varibles.

android - 如何检测设备是否可以读写 Mifare 经典 NFC​​ 标签?

java - 如何在android中解析2个xml文件

android - RxJava : How to find the smaller number in a sequence

javascript - 检查点是否位于两个地点之间的路线路径内

android gradle构建错误警告:Unable to find optional library: org. apache.http.legacy

android - 在 Espresso 中,我如何测试 textview 只显示两行

android - aar 文件中缺少 native 库 (*.so) 文件(如果依赖库是共享库)

android - GridLayout 不显示

android - Cygwin 的 NDK 构建错误