2012-10-15 52 views
0

我是新來的android,我正在製作一個應用程序,顯示您用三個搜索欄(RGB)選擇的顏色。 我不斷收到來自未知來源的意外錯誤,我不知道什麼是錯的。 通過調試,我發現當我調用ChangeColor merhod或者當我從RGB.java的DrawCanvas.java中更改紅色,綠色和藍色的值時,應用程序崩潰。 我錯過了什麼?撥打另一個班級時發生未知錯誤

這裏是所有代碼:

public class RGB extends Activity implements OnSeekBarChangeListener { 

private int RED_value = 0; 
private int BLUE_value = 0; 
private int GREEN_value = 0; 

private SeekBar sbR, sbB, sbG; 
private TextView labelR, labelG, labelB; 

public DrawCanvas draw; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_rgb); 

    labelR = (TextView)findViewById(R.id.textView4); 
    labelG = (TextView)findViewById(R.id.textView5); 
    labelB = (TextView)findViewById(R.id.textView6); 

    sbR = (SeekBar)findViewById(R.id.seekBar1); 
    sbG = (SeekBar)findViewById(R.id.seekBar2); 
    sbB = (SeekBar)findViewById(R.id.seekBar3); 

    draw = (DrawCanvas)findViewById(R.id.SurfaceView01); 

    sbG.setOnSeekBarChangeListener(this); 
    sbR.setOnSeekBarChangeListener(this); 
    sbB.setOnSeekBarChangeListener(this); 

} 

public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
    // TODO Auto-generated method stub 
    if (seekBar==sbR) 
    { 
     RED_value = progress; 
     labelR.setText(""+progress); 
    } 
    else if (seekBar==sbB) 
    { 
     BLUE_value = progress; 
     labelB.setText(""+progress); 
    } 
    else 
    { 
     GREEN_value = progress; 
     labelG.setText(""+progress); 
    } 

    //This is where the app crashes 
    draw.red = RED_value; 
    draw.green = GREEN_value; 
    draw.blue = BLUE_value; 
} 

public void onStartTrackingTouch(SeekBar seekBar) { 
    // TODO Auto-generated method stub 

} 

public void onStopTrackingTouch(SeekBar seekBar) { 
    // TODO Auto-generated method stub 

} 

} 

和其他類

public class DrawCanvas extends View { 

public int red=200, green=100, blue=0; 

public DrawCanvas(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 
} 

public DrawCanvas(Context context, AttributeSet attrs){ 
    super(context); 
    // TODO Auto-generated constructor stub 
} 

public DrawCanvas(Context context, AttributeSet attrs, int defStyle){ 
    super(context); 
    // TODO Auto-generated constructor stub 
} 

protected void onDraw(Canvas c) 
{ 
    super.onDraw(c); 

    int color = Color.argb(255,red,green,blue); 
    Paint paint = new Paint(); 
    paint.setStyle(Paint.Style.FILL); 
    paint.setColor(color); 

    c.drawPaint(paint); 
} 

public void ChangeColor(int r, int g, int b) 
{ 
    red = r; 
    green = g; 
    blue = b; 
} 
} 

最後的錯誤消息:

[2012-10-15 00:55:24 - Unexpected error while launching logcat. Try reselecting the device.] device not found 
com.android.ddmlib.AdbCommandRejectedException: device not found 
at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:752) 
at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:373) 
at com.android.ddmlib.Device.executeShellCommand(Device.java:462) 
at com.android.ddmuilib.logcat.LogCatReceiver$1.run(LogCatReceiver.java:109) 
at java.lang.Thread.run(Unknown Source) 

預先感謝您。

+0

錯誤消息已經什麼都沒有做與你的應用程序。你甚至無法連接adb。 –

回答

相關問題