我用真机调试,一直闪退是什么问题啊

我用真机调试,一直闪退是什么问题啊

package com.example.ui_seekbar;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Toast;


public class MainActivity extends Activity {
private SeekBar seekBar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        seekBar=(SeekBar)findViewById(R.id.seekbar);
        //设置进度条最大值
        seekBar.setMax(100);
        //设置进度条当前进度
        seekBar.setProgress(30);
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
			@Override
			public void onStopTrackingTouch(SeekBar arg0) {
				// 将在结束拖拽进度条时被触发
				//Log.i("progress", seekBar.getProgress()+"");
				Toast.makeText(MainActivity.this, "结束"+seekBar.getProgress(), Toast.LENGTH_LONG).show();
			}
			@Override
			public void onStartTrackingTouch(SeekBar arg0) {
				// 将在开始拖拽进度条时被触发
				//Log.i("progress", seekBar.getProgress()+"");
				Toast.makeText(MainActivity.this, "开始"+seekBar.getProgress(), Toast.LENGTH_LONG).show();
			}
			@Override
			public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
				 /**
				  * 将在进度发生变化时被触发,三个参数分别为:
				  * 1.当前绑定的seekbar对象
				  * 2.当前进度值
				  * 3.是否为手动触发				  * 
				  */
				//Log.i("progress", seekBar.getProgress()+"");
				Toast.makeText(MainActivity.this, seekBar.getProgress(), Toast.LENGTH_LONG).show();
			}
		});
    }


}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
金鱼家 2018-03-08 20:11:36

老铁!你问题解决了没啊?


irista23 2018-03-05 10:52:16

还是闪退,你查看一下如下图中红色报错信息,另外logcat确认是按照下图方式正确查看的

http://img1.sycdn.imooc.com//climg/5a9cb0dc000164ce14570560.jpg

  • 提问者 慕粉18523865484 #1
    这个log cat的使用流程是这样的吗?我手机连着电脑,首先我在eclipse中右键运行程序,然后在手机上收到运行提醒,然后我在手机上进行相应操作,这时电脑上log cat 一点反应都没有。怎么感觉差一个手机调试回传的过程啊?课程里都是直接在电脑虚拟机上进行的。。。。我的虚拟机用不了。
    2018-03-05 14:08:50
  • irista23 回复 提问者 慕粉18523865484 #2
    正常按照你的流程是可以显示log的,如果不显示,你检查一下是否打开查看的是logcat窗口,在eclipse中window-show view-other-logcat,另外你再检查一下你的设备是否有log开关需要打开
    2018-03-05 14:45:53
irista23 2018-03-05 09:57:27

Toast.makeText()三个参数的方法中,如果第二个参数是int而不是String,会调用如下方法

http://img1.sycdn.imooc.com//climg/5a9ca3b70001e8f208120101.jpg

第二个参数将作为资源id,如果没有找到对应资源就报错退出了,可以将你的代码做如下修改:

Toast.makeText(MainActivity.this, ""+seekBar.getProgress(), Toast.LENGTH_LONG).show();

  • 提问者 慕粉18523865484 #1
    改了,还是闪退,我还有个问题,我用真机调试,为什么电脑上的logcat没反应呢
    2018-03-05 10:21:15
  • 金鱼家 回复 提问者 慕粉18523865484 #2
    这个应该需要手机root过,我这边有两个真机测试,一个mi4解锁的,一个mi6没解锁。mi4就会在电脑上跑,mi6就没有。感觉这就是个权限问题。
    2018-03-08 20:17:57
CV工程师鱼 2018-03-04 15:14:13

没有为按钮添加监听器吧,我之前也是漏了这个所以一直闪退

  • 提问者 慕粉18523865484 #1
    额,什么意思啊?我用的匿名内部类实现监听的啊
    2018-03-05 10:22:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师