惰性加载在android中不起作用
我在列表视图上显示图像,并在列表适配器类中调用lazy loadiing,对于在列表视图上显示图像,它工作正常。意味着图像加载正确 但我在ItemClickListener上实现了列表视图,并将图像url传递给另一个类,再次调用与列表适配器类相同的延迟加载惰性加载在android中不起作用,android,android-layout,android-lazyadapter,android-lazyloading,Android,Android Layout,Android Lazyadapter,Android Lazyloading,我在列表视图上显示图像,并在列表适配器类中调用lazy loadiing,对于在列表视图上显示图像,它工作正常。意味着图像加载正确 但我在ItemClickListener上实现了列表视图,并将图像url传递给另一个类,再次调用与列表适配器类相同的延迟加载 ` imageLoader.DisplayImage(strimg.trim(), imgview);` 然后发生错误 java.lang.NullPointerException 我的Java代码 public class De
` imageLoader.DisplayImage(strimg.trim(), imgview);`
然后发生错误
java.lang.NullPointerException
我的Java代码
public class Description extends Activity
{
public ImageLoader imageLoader;
ImageView imgview;
String strimg;
Context context=this;
TextView
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
imgview= (ImageView) findViewById(R.id.descimg);
try
{
Bundle bundle=getIntent().getExtras();
if(bundle != null)
{
strimg= bundle.getString("ImageUrl");
Log.d("DescImg", "strimg");
}
else {
Toast.makeText(context, "Image"+strimg, Toast.LENGTH_LONG).show();
Toast.makeText(context, "NUll", Toast.LENGTH_LONG).show();
}
Log.d("Desc", strimg);
imageLoader.DisplayImage(strimg.trim(), imgview);
}
catch(Exception e)
{
Log.d("DescError"+e, strimg);
}
}
传递图像Url
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i= new Intent(PropertySearch.this,Description.class);
i.putExtra("ImageUrl", strimage[position]);
startActivity(i);
}
});
listview.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
意向i=新意向(PropertySearch.this,Description.class);
i、 putExtra(“ImageUrl”,strimage[位置]);
星触觉(i);
}
});
请建议我如何解决这个问题
提前谢谢 您刚刚声明了
ImageLoader
类变量
public ImageLoader imageLoader;
不初始化。所以在onCreate()
方法中初始化它,如下所示:
imageLoader = new ImageLoader(Description.this);
您可能忘记初始化您的
图像加载器
。
只需在onCreate
中初始化ImageLoader
,如下所示:
public ImageLoader imageLoader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
imageLoader= new ImageLoader(this);
}
请张贴您的代码!在listview?的自定义适配器中单击侦听器,然后发布logcat消息堆栈,确保获得值
strimg
变量,并且该变量不为空。查看我的答案@库尔德普