2011-09-20 77 views
0

我正在尝试为Android开发一个应用程序,但我在追踪过程中遇到的每个异常的来源和原因时遇到困难。我的代码运行在一个Activity中,如果我的一行导致一个异常,那么不是停在那条线上并突出显示它,它将我引入ActivityThread类的代码中,显然我没有,所以我只是得到一个“找不到源”屏幕。Eclipse无法将调试器连接到我的应用程序?

FloatingPointParser.invalidReal(String, boolean) line: 78 
FloatingPointParser.parseDouble(String) line: 276 
Double.parseDouble(String) line: 317  
Double.valueOf(String) line: 354  
TempConActivity.ctof() line: 77 
TempConActivity.onClick(View) line: 41 
Button(View).performClick() line: 3100 
View$PerformClick.run() line: 11644 
ViewRoot(Handler).handleCallback(Message) line: 587 
ViewRoot(Handler).dispatchMessage(Message) line: 92 
Looper.loop() line: 126 
ActivityThread.main(String[]) line: 3997  
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] 
Method.invoke(Object, Object...) line: 491 
ZygoteInit$MethodAndArgsCaller.run() line: 841 
ZygoteInit.main(String[]) line: 599 
NativeStart.main(String[]) line: not available [native method] 

,这里是我的源代码:

package de.vogella.android.temperature; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.RadioButton; 
    import android.widget.EditText; 


    public class TempConActivity extends Activity implements View.OnClickListener 
    { 
    Button btn; 
double text; 
double t; 
Button btn1; 
Button btn2; 
RadioButton celsiusButton; 


    @Override  
    public void onCreate(Bundle icicle) 
{ 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 
    btn=(Button)findViewById(R.id.button); 
    btn.setOnClickListener(this); 
    celsiusButton = (RadioButton)findViewById(R.id.radio0); 

} 

public void onClick(View view) 
{ 

    switch(view.getId()) 
    { 
    case R.id.button: 

    if(celsiusButton.isChecked()) 
    { 
     ctof(); 
    } 
    else 
    { 
     ftoc(); 
    } 

    break; 

    case R.id.button1: 

     t=(text*1.8)+32; 
     int length =(Double.toString(t)).length(); 
     CharSequence t1=(Double.toString(t)).subSequence(0,length-1); 
     EditText et1=(EditText)findViewById(R.id.editText2); 
     et1.setText(t1); 

    break; 

    case R.id.button2: 

     t=(text-32)/1.8; 
     int length1 =(Double.toString(t)).length(); 
     CharSequence t2=(Double.toString(t)).subSequence(0,length1-1); 
     EditText et2=(EditText)findViewById(R.id.editText4); 
     et2.setText(t2); 

    break; 
    } 

} 

    public void ctof() 
    { 
    setContentView(R.layout.ctof); 
    EditText et=(EditText)findViewById(R.id.editText1); 
    text= Double.valueOf(et.getText().toString()); 
    btn1=(Button)findViewById(R.id.button1); 
    btn1.setOnClickListener(this); 

    } 

    public void ftoc() 
    { 
    setContentView(R.layout.ftoc); 
    EditText et=(EditText)findViewById(R.id.editText3); 
    text= Double.valueOf(et.getText().toString()); 
    btn2=(Button)findViewById(R.id.button2); 
    btn2.setOnClickListener(this); 

    } 
    } 

回答

0

如果试图打开Android源代码,比它只是意味着发生异常时比你安装的断点更早。尝试分析堆栈跟踪,并在发生异常的位置之前放置断点。

相关问题