我在列表视图上显示图像并在列表适配器类中调用延迟加载,对于列表视图中的显示图像,它工作正常。意味着图像正确加载。
但我在项目点击监听器上实现列表视图,图像url传递给另一个类,我再次调用延迟加载与列表适配器类相同
` 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);
}
}
传递图片网址
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);
}
});
请建议我如何解决这个问题
先谢谢。
答案 0 :(得分:1)
您刚刚声明了ImageLoader
类变量
public ImageLoader imageLoader;
未初始化。所以在onCreate()
方法中初始化它,如
imageLoader = new ImageLoader(Description.this);
答案 1 :(得分:0)
您可能忘记初始化imageLoader
。
只需在ImageLoader
中初始化onCreate
,如下所示:
public ImageLoader imageLoader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
imageLoader= new ImageLoader(this);
}