我想知道如何为某些东西创建我自己的监听器,并且能够像任何其他监听器一样使用它,例如.
public interface Listener {
public void onListen(Event e);
}
Run Code Online (Sandbox Code Playgroud)
然后在我的班上
public class test implements Listener {
Object.add(new Listener() {
@Override
public void onListen(Event e) {
}
});
}
Run Code Online (Sandbox Code Playgroud)
我想我真正要问的是,我在哪里定义如何检查是否发生了与我创建的监听器有关的事情?
如果其中任何一个没有意义,请告诉我,我会澄清它.
如果充其量这对你没有意义,我会尝试这个.如何让侦听器检查组合框中的选定选项是否已更改为其他选项.我实际上并不需要一个组合框监听器,这只是一个例子.
假设我正在做类似测验的事情,我有一个计数器来显示已正确回答的问题数量.当一个问题得到正确回答,并显示一个新屏幕(活动)时,如何将该号码转移到下一个屏幕?
在尝试将textviews文本设置为数字时,我总是因某些原因而遇到问题.在下面的代码中,我正在尝试制作小费计算器,但是当我运行应用程序时,它会强制关闭.当我删除OnClick侦听器中的项目时,该应用程序工作正常.我会在代码后发布logcat.请告诉我其他任何有用的信息,我可以发帖以提高我的问题得到答案的机会.
billAmount = (EditText) findViewById(R.id.billAmount);
tipPercent = (EditText) findViewById(R.id.tipPercent);
Run Code Online (Sandbox Code Playgroud)
那些是editTexts.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.calculateTip:
double billAmt = Double.parseDouble(billAmount.toString());
double tipAmt = Double.parseDouble(tipPercent.toString());
double billtip = (billAmt * tipAmt) / 100;
totalTip.setText("" + Double.toString(billtip));
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这是logcat
04-22 01:20:20.104: W/KeyCharacterMap(589): No keyboard for id 0
04-22 01:20:20.104: W/KeyCharacterMap(589): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
04-22 01:20:24.174: D/AndroidRuntime(589): Shutting down VM
04-22 01:20:24.174: W/dalvikvm(589): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-22 01:20:24.195: E/AndroidRuntime(589): FATAL EXCEPTION: …
Run Code Online (Sandbox Code Playgroud)