我正在开发小型 android 应用程序,其中我创建了一个扩展 LinearLayout 的类 abc 和一个活动 xyz。在我的 abc 类中,我以下列方式定义了一个接口
public class abc extends LinearLayout {
private OnclickxitemListener listener1;
public interface OnclickxitemListener
{
public String nil = "nilkash";
public void onclickxtitem();
}
public void setOnxitemSelectedListener(OnclickxitemListener listener)
{
this.listener1 = listener;
Log.i("#######################################", "inside set listener "+listener1);
}
public abc(Context context)
{
super(context);
}
@SuppressWarnings("deprecation")
public void initialiseImages()
{
create custome linear view here
ImageView image_View = (ImageView) parentLayout.findViewById(0);
image_View.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
String n = listener1.nil;
Log.i("#################################", "inside click"+n);
listener1.onclickxitem();
}
});
}
}
现在我试图以下列方式从我的活动中使用这个界面。
public class xyz extends Activity implements abc.OnclickxitemListener{
CustomviewActivity cubes;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
abc widget = new abc(this);
widget.setOnxitemSelectedListener(this);
cubes.initialiseImages();
}
@Override
public void onclickxitem() {
}
}
现在的问题是,当我在我的类中执行图像单击侦听器时,我能够访问变量值(“字符串 nilkash”),但我无法访问方法listener1.onclickxitem();
。当我试图获得它时,它给了我空指针异常。
无论我做错了什么。如何解决这个问题呢。需要帮助...谢谢...