1
私はタッチキーパッドUIを作成し、完了とバックボタンのイベントリスナーを設定するAndroidモジュールライブラリを持っています。クリックインタフェースコールバックでは、Androidでnullを返します
またeventCallbackインタフェースを実装
での主な活動を持ってMainActivity.java(Appication)
public class MainActivity extends AppCompatActivity implements eventCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = new touchkey(this);
setContentView(v);
}
@Override
public void onClick() {
Log.i("test","complete");
Toast.makeText(this, "this is my Toast message!!! =)",
Toast.LENGTH_LONG).show();
}
}
eventCallback.java(アンドロイドモジュールライブラリ)
public interface eventCallback {
void onClick();
}
touchkey.java(アンドロイドモジュールライブラリ)
public class touchkey extends RelativeLayout{
private static touchkey INSTANCE;
TextView bclear;
ImageView bdone;
eventCallback eventCall;
public touchkey(Context context) {
super(context);
initialize(context);
}
public touchkey(Context context, AttributeSet attrs) {
super(context, attrs);
initialize(context);
}
public void test() {
Log.i("test","test");
}
private void initialize(Context context) {
inflate(context, R.layout.touchkey, this);
bclear = (TextView) findViewById(R.id.anti_theft_t9_key_clear);
bdone = (ImageView) findViewById(R.id.anti_theft_t9_key_done);
bdone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (eventCall != null) {
eventCall.onClick();
}
}
});
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
}
しかしtouchkey.java
eventCall.onClickのIAMなっnullポインタ例外(); (eventCallがnullです)
私はどこが間違っているのか分かりません。誰でもこれを助けることができます。要件:
public void setEventCall(eventCallback eventCall) {
this.eventCall = eventCall;
}
そして、(MainActivityで)それを使用する:私はあなたが(touchkey.javaに)eventCallためsetter
を作成する必要があります主な活動に図書館に
ありがとうございます... –