我一直在研究一个Android程序,但是我的计时器有问题而且我正在尝试使用它但似乎无法正确使用,此时的任何帮助都将受到高度赞赏。
我的计时器从60 -- to 0
开始,这就是我想要的。现在我用按钮来显示开始和停止。现在我想使用暂停和播放的ImageButtons。请问这是我被困住的地方,任何帮助都将是一个很好的缓解我试图寻找一些信息阅读,但没有找到。
总结一下我想要实现的目标
- 我想使用ImageButtons(暂停和播放)来调用这些功能,一旦暂停游戏暂停和On Play我继续
醇>
CountDownTimer timer = new CountDownTimer(60000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
time= millisUntilFinished;
timerTextView.setText("Time Remaining: " + millisUntilFinished / 1000);
timerTextView.setTextSize(10);
}
@Override
public void onFinish() {
timerTextView.setText("TIMES UP");
timerTextView.setTextSize(10);
}
}.start();
@Override
public void onBackPressed() {
timer.cancel();
super.onBackPressed();
}
@Override
public void onPause() {
super.onPause();
timer.cancel();
ImageButton pause = (ImageButton) findViewById(R.id.pause);
pause.setVisibility(View.INVISIBLE);
ImageButton play = (ImageButton) findViewById(R.id.play);
play.setVisibility((View.VISIBLE));
EditText input = (EditText) findViewById(R.id.answerField);
input.setEnabled(false);
timerTextView.setText("Game Paused");
}
public void play(View view){
ImageButton pause= (ImageButton)findViewById(R.id.pause);
pause.setVisibility(View.VISIBLE);
ImageButton play= (ImageButton)findViewById(R.id.play);
play.setVisibility((View.INVISIBLE));
TextView outcome = (TextView) findViewById(R.id.outcome);
outcome.setText("");
EditText input= (EditText)findViewById(R.id.answerField);
input.setEnabled(true);
CountDownTimer timer= new CountDownTimer(time, 1000) {
public void onTick(long millisUntilFinished) {
time= millisUntilFinished;
//text1.setTextColor(Color.parseColor("#FFFFFF"));
timerTextView.setText("Time Remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
timerTextView.setText("TIME UP");
}
}.start();
}
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/ic_play_white_18dp"
android:background="@drawable/circle"
android:id="@+id/play"
android:elevation="4dp"
android:onClick="play"
android:layout_alignTop="@+id/pause"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ImageButton
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/ic_pause_white_18dp"
android:background="@drawable/circle"
android:id="@+id/pause"
android:elevation="4dp"
android:onClick="pause"
android:layout_below="@+id/questionField"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
LogCat Errors;
view class android.widget.ImageButton with id 'play'
at android.view.View$1.onClick(View.java:4007)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NoSuchMethodException: play [class android.view.View]
at java.lang.Class.getMethod(Class.java:664)
at java.lang.Class.getMethod(Class.java:643)
at android.view.View$1.onClick(View.java:4000)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5257)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
答案 0 :(得分:0)
首先,崩溃的主要原因是当你找到视图......
如果您要在Button
中声明play()
,则必须声明按钮:
ImageButton pause= (ImageButton)view.findViewById(R.id.pause);
同时使用EditText
和TextView
。
完成此操作后,只需点击IDE上的运行并告诉我问题是什么......
我也读过这个:
引起:java.lang.NoSuchMethodException:play [class android.view.View]
你的Play()方法叫做?,你可以发布更多代码吗?
BTW学会清除你的代码,无法阅读/理解...如果你想要来自SO甚至其他论坛的人,只需要清理一点......否则没有人会帮助你。