こんにちは私の教授はこれを理解することができませんので、ここに投稿します。私は気温を表示するアプリを作ろうとしています。シークバーが一定の温度になると、別のイメージをimageViewに表示したいのです。私はアプリをテストし、シークバーが40を過ぎるとアプリが差し押さえられる。誰が私にそれがなぜあるか教えてもらえますか?if文を使用してイメージresoureを設定しようとすると強制終了します
SeekBar seekBar;
TextView f, c;
ImageView i;
int progress_value;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tempature);
seekBar = (SeekBar)findViewById(R.id.seekBar);
seekBar.setMax(200);
f = (TextView)findViewById(R.id.f);
c = (TextView)findViewById(R.id.c);
i = (ImageView)findViewById(R.id.imageView);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progress_value = progress;
f.setText(" " + progress_value);
c.setText(" " + .55 * (progress_value - 32));
if (progress_value <= 40){
i.setImageResource(R.drawable.cold);
}
else if (progress_value > 40 && progress_value < 90){
i.setImageResource(R.drawable.justright);
}
else{
i.setImageResource(R.drawable.hot);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
9月26日夜11時21分56秒:起動アプリ $ adbのプッシュC:\ Users \ユーザーaniel \ AndroidStudioProjects \宿題#2 \アプリ\ビルド\出力\ APK \ APP- debug.apk /data/local/tmp/com.example.aniel.homework2 $ adbのシェル午後は-r "/data/local/tmp/com.example.aniel.homework2" 成功
$ adbのシェルをインストールam start -n "com.example.aniel.homework2.jpg" 012 "プロセスがオンラインになるのを待ちます。 プロセスがオンラインになるのを待っています。 プロセスがオンラインになるのを待っています。 プロセスがオンラインになるのを待っています。 デバイスエミュレータ-5554のプロセス2373に接続しました。 W/gralloc_ranchu:初期化EGL、バージョン1.4 D/OpenGLRenderer:スワップ動作1 D/AndroidRuntime:VM
--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.aniel.homework2, PID: 2373
java.lang.RuntimeException: Canvas: trying to draw too large(241864000bytes) bitmap.
at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)
at android.graphics.Canvas.drawBitmap(Canvas.java:1415)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:545)
at android.widget.ImageView.onDraw(ImageView.java:1286)
at android.view.View.draw(View.java:17068)
at android.view.View.updateDisplayListIfDirty(View.java:16050)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16045)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16045)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16045)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16045)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16045)
at android.view.View.draw(View.java:16834)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17071)
at com.android.internal.policy.DecorView.draw(DecorView.java:751)
at android.view.View.updateDisplayListIfDirty(View.java:16050)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:656)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:662)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:770)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2796)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2604)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2211)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6301)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
at android.view.Choreographer.doCallbacks(Choreographer.java:683)
at android.view.Choreographer.doFrame(Choreographer.java:619)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Application terminated.
をシャットダウンGrallocパイプ
[ 09-26 23:22:05.204 2373: 2373 D/ ]
HostConnection::get() New Host Connection established 0x982851c0, tid 2373
I/OpenGLRendererに失敗しました
のために働いていましたか?あなたが得ている例外は何ですか? – Nishith
ログを共有できますか? – Arslan
例外を貼り付けてください。またはアプリがバックグラウンドに移行していませんか? –