Android passint新浮点值时应用程序崩溃 什么导致应用程序崩溃
我有一个基于BluetoothChat示例的应用程序。我创建了一个新的包,在那里我持有我的视图类,比如speedometer。我想从BluetoothChat.java获取一个值,并在Speedometer.java中设置它 因此存在onSpeedChangeListener接口 在BluetoothChat中添加了以下内容: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]", ""));
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);