gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:04 24 4
gpt4 key购买 nike

我正在尝试使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com