2014-06-14 3 views
0
  • 응용 프로그램이 다운되는 이유는 무엇입니까?

나는 BluetoothChat 샘플을 기반으로하는 앱을 가지고 있습니다. 나는 새로운 패키지를 만들었고 거기에 속도계와 같은 뷰 클래스를 가지고있다.passint 새 부동 소수점 값일 때 응용 프로그램 오류가 발생합니다.

int i = Integer.parseInt(readMessage.replaceAll("[\\D]", ""));    
       speedValue = (float)i;     
       final Speedometer speedometer = (Speedometer) findViewById(R.id.Speedometer); 
       speedometer.onSpeedChanged(speedValue); 

SpeedChangeListener :

package lt.vejoprojektai.View; 

public interface SpeedChangeListener { 

    public void onSpeedChanged(float newSpeedValue); 

} 
나는 따라서 onSpeedChangeListener 인터페이스 BluetoothChat에

enter image description here

추가이있다 BluetoothChat.java에서 값을 얻을 Speedometer.java 에서 설정하려면

속도계 .java

@Override 
    public void onSpeedChanged(float newSpeedValue) { 
     this.setCurrentSpeed(newSpeedValue); 
     this.invalidate(); 
    } 

값 app를 전달하려고하는 BluetoothChat의 주석 행이 작동하는 경우.

06-14 14:00:57.100: W/dalvikvm(24290): threadid=1: thread exiting with uncaught exception (group=0x415b5b90) 
06-14 14:00:57.110: E/AndroidRuntime(24290): FATAL EXCEPTION: main 
06-14 14:00:57.110: E/AndroidRuntime(24290): Process: com.example.android.BluetoothChat, PID: 24290 
06-14 14:00:57.110: E/AndroidRuntime(24290): java.lang.NullPointerException 
06-14 14:00:57.110: E/AndroidRuntime(24290): at com.example.android.BluetoothChat.BluetoothChat$2.handleMessage(BluetoothChat.java:299) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at android.os.Handler.dispatchMessage(Handler.java:102) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at android.os.Looper.loop(Looper.java:137) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at android.app.ActivityThread.main(ActivityThread.java:4998) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at java.lang.reflect.Method.invokeNative(Native Method) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at java.lang.reflect.Method.invoke(Method.java:515) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:811) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:627) 
06-14 14:00:57.110: E/AndroidRuntime(24290): at dalvik.system.NativeStart.main(Native Method) 

편집 enter image description here

Edit2가

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     final int mUIFlag = 
       View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LOW_PROFILE 
         | View.SYSTEM_UI_FLAG_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_IMMERSIVE; 
     super.onCreate(savedInstanceState); 
     if(D) Log.e(TAG, "+++ ON CREATE +++"); 

     // Set up the window layout 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().getDecorView().setSystemUiVisibility(mUIFlag); 
     setContentView(R.layout.main); 

그리고 난 새로운보기 setContentView(R.layout.cluster);을 열 수 있지만 메뉴가 숨겨지지 메뉴의 버튼 ...

: 로그 캣

+1

'BluetoothChat.java'의 299 행에 문제가 있는지 확인하고 디버그를합니다. –

+0

죄송합니다. 줄 번호가있는 코드를 복사하여 인쇄 화면을 추가하는 방법을 모르겠습니다. 그래서 나는 295,296 라인을 가진 무언가가 있다고 믿고 그것을 끊으려고하면 null로 간다. – Martynas

답변

1

오류로 NullPointerException 나는 속도계의 리소스로 찾을 수 없다고 생각합니다.

속도계가 동일한 레이아웃에 있고 그렇지 않은 경우 얻을 수있는 뷰 레이아웃을 팽창시켜야합니다.

나는 이것에 플로트 오류의 구문 분석을 생각하지 않습니다. 행운을 빌어 요.

+0

그 의미가 있어야합니다 :) 왜냐하면 내 기본 레이아웃은 기본 BluetoothChat 레이아웃입니다. 내 레이아웃을 열고 모든 블루투스 서비스를 작동시키는 방법을 알지 못했습니다. 어쨌든, 나는 새로운 의도를 열기 위해 눌렀을 때 메뉴에서 버튼을 만들었습니다. 아마 내가 모든 bluetoothChat 코드를 추가해야합니까? – Martynas

+0

만약 내가 바로 생각하고 활동을 변경하지 않고 다른 레이아웃을 여는 다른 방법은 ** setContentView (R.layout.chatLayout); ** 필요할 때 다시. – WonderSoftwares

+0

기본적으로 하나의 레이아웃이 필요합니다. 나는 이상한 방식으로 내 레이아웃을 연다 : D 이것은 공개 무효이다 onCreate 'this.requestWindowFeature (Window.FEATURE_NO_TITLE); getWindow(). getDecorView(). setSystemUiVisibility (mUIFlag); setContentView (R.layout.main); 의도 myIntent = 새로운 의도 (getBaseContext(), Cluster.class); \t myIntent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); \t startActivity (myIntent); ' – Martynas

관련 문제