Android passint新浮点值时应用程序崩溃 什么导致应用程序崩溃

Android passint新浮点值时应用程序崩溃 什么导致应用程序崩溃,android,android-custom-view,Android,Android Custom View,我有一个基于BluetoothChat示例的应用程序。我创建了一个新的包,在那里我持有我的视图类,比如speedometer。我想从BluetoothChat.java获取一个值,并在Speedometer.java中设置它 因此存在onSpeedChangeListener接口 在BluetoothChat中添加了以下内容: int i = Integer.parseInt(readMessage.replaceAll("[\\D]", ""));

我有一个基于BluetoothChat示例的应用程序。我创建了一个新的包,在那里我持有我的视图类,比如speedometer。我想从BluetoothChat.java获取一个值,并在Speedometer.java中设置它 因此存在onSpeedChangeListener接口

在BluetoothChat中添加了以下内容:

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);

}
Speedometer.java

@Override
    public void onSpeedChanged(float newSpeedValue) {
        this.setCurrentSpeed(newSpeedValue);
        this.invalidate();
    }
若我在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)
编辑

编辑2


然后用菜单中的按钮打开新视图
setContentView(R.layout.cluster)但是菜单没有被隐藏…

由于错误空点异常我想它的速度表资源没有找到

确保车速表是否在同一布局中,如果不在同一布局中,则应从它可以到达的位置对视图布局进行充气

我不认为这里面有任何浮点错误的解析。
祝您好运

调试并检查
BluetoothChat.java
中的第299行出现问题。有些东西变成了空的。对不起,我不知道如何用行号复制代码,所以我添加了打印屏幕。所以我相信有一些东西有295296行,当它试图打破它变成空,对吗?这应该是有意义的:)因为我的主要布局是基本的BluetoothChat布局。我不知道如何打开我的布局,让所有蓝牙服务正常工作。无论如何,我在菜单上做了一个按钮,当按下按钮打开新的意图。也许我应该添加所有bluetoothChat代码?如果我的想法正确,那么在不更改活动的情况下打开另一个版面的另一种方法是设置ContentView(R.layout.chatLayout);当你需要的时候再来。基本上我需要一个布局。我以一种奇怪的方式打开我的布局,我想:D在创建
this.requestWindowFeature(Window.FEATURE\u NO\u TITLE)时,这是一个公共空白;getWindow().getDecorView().SetSystemActivity(mUIFlag);setContentView(R.layout.main);Intent myIntent=newintent(getBaseContext(),Cluster.class);myIntent.setFlags(Intent.FLAG\u ACTIVITY\u CLEAR\u TOP);星触觉(myIntent)明显!!你开始一项新活动的意图并不好。您只需再次写入setContentView(R.layout.chatLayout);你可以看到另一个视角。这不是一个大问题,所以如果我做出
Intent Intent=newintent…
我会停止BluetoothChat活动吗?我制作了
setContentView(R.layout.cluster),它可以工作,没有应用程序崩溃,但现在它不是全屏。当我打算返回时,主菜单被隐藏了。你有什么想法吗?基本上你回答了我的问题,但如果你对隐藏菜单有任何想法,请分享:)谢谢
@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);