Android 无法对数组类型字符串[]调用getText()
嗨,有一些问题我无法解决,谷歌和搜索无法找到任何东西,所以请帮助 我使用的东西(不按顺序) getText()上的错误-无法对数组类型字符串[]调用getText() 有什么补救办法吗?提前感谢:) LogCatAndroid 无法对数组类型字符串[]调用getText(),android,Android,嗨,有一些问题我无法解决,谷歌和搜索无法找到任何东西,所以请帮助 我使用的东西(不按顺序) getText()上的错误-无法对数组类型字符串[]调用getText() 有什么补救办法吗?提前感谢:) LogCat 05-16 16:48:12.180: D/dalvikvm(803): GC_FOR_ALLOC freed 73K, 5% free 2908K/3048K, paused 33ms, total 35ms 05-16 16:48:12.180: I/dalvikvm-heap(8
05-16 16:48:12.180: D/dalvikvm(803): GC_FOR_ALLOC freed 73K, 5% free 2908K/3048K, paused 33ms, total 35ms
05-16 16:48:12.180: I/dalvikvm-heap(803): Grow heap (frag case) to 3.377MB for 500416-byte allocation
05-16 16:48:12.220: D/dalvikvm(803): GC_FOR_ALLOC freed 2K, 5% free 3394K/3540K, paused 39ms, total 39ms
05-16 16:48:12.270: D/AndroidRuntime(803): Shutting down VM
05-16 16:48:12.270: W/dalvikvm(803): threadid=1: thread exiting with uncaught exception (group=0xb3a86ba8)
05-16 16:48:12.280: E/AndroidRuntime(803): FATAL EXCEPTION: main
05-16 16:48:12.280: E/AndroidRuntime(803): Process: com.example.whattoeat, PID: 803
05-16 16:48:12.280: E/AndroidRuntime(803): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.whattoeat/com.example.whattoeat.MainActivity}: java.lang.NullPointerException
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread.access$800(ActivityThread.java:135)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.os.Handler.dispatchMessage(Handler.java:102)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.os.Looper.loop(Looper.java:136)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread.main(ActivityThread.java:5017)
05-16 16:48:12.280: E/AndroidRuntime(803): at java.lang.reflect.Method.invokeNative(Native Method)
05-16 16:48:12.280: E/AndroidRuntime(803): at java.lang.reflect.Method.invoke(Method.java:515)
05-16 16:48:12.280: E/AndroidRuntime(803): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-16 16:48:12.280: E/AndroidRuntime(803): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-16 16:48:12.280: E/AndroidRuntime(803): at dalvik.system.NativeStart.main(Native Method)
05-16 16:48:12.280: E/AndroidRuntime(803): Caused by: java.lang.NullPointerException
05-16 16:48:12.280: E/AndroidRuntime(803): at com.example.whattoeat.MainActivity.setupWidgets(MainActivity.java:102)
05-16 16:48:12.280: E/AndroidRuntime(803): at com.example.whattoeat.MainActivity.onCreate(MainActivity.java:44)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.Activity.performCreate(Activity.java:5231)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
05-16 16:48:12.280: E/AndroidRuntime(803): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
05-16 16:48:12.280: E/AndroidRuntime(803): ... 11 more
设置小部件
private void setupWidgets() {
Button save=(Button) findViewById(R.id.save);
save.setOnClickListener(this);
mTextInput=(EditText) findViewById(R.id.textView);
mtextOutput=(ListView) findViewById(R.id.textOutput);
为什么要使用数组?你不能改用普通字符串吗 无论如何,这应该行得通
WriteSD.setText(text+"/n"+SDCard[0]);
您将SDCard声明为包含一个字符串的字符串对象数组,而不是单个字符串 您可以通过将SD卡声明更改为
String SDCard = "/sdcard/WhatToEat/Dishes.txt/";
这个问题似乎离题了,因为OP对Java API的理解很少。嗨,试着按顺序粘贴所有相关的代码。同时粘贴您正在更新的异常,并粘贴更多的代码错误发生在setUpWidgets方法上。你也可以发布该方法的代码吗?完成了,在Logcat下发布修复了该错误,但在.setText上得到了另一个错误-类型文件的方法setText(String)未定义我刚刚读取了你的代码中的那一部分。WriteSD不是文本视图,因此无法使用setText()设置文本<代码>写入=新文件(文本+“/n”+SD卡[0])你应该听听@Lisa的评论,改变你的SD卡声明。将更容易处理完成和完成。SD卡[0]上的另一个错误;…-表达式的类型必须是数组类型,但它已解析为StringWell,因为您更改了SDCard的声明,因此不再需要使用索引[0]。只需使用
SDCard
而不是SDCard[0]
即可消除所有错误,谢谢,但应用程序不会启动。只是告诉我“应用程序已停止”。有什么想法吗?同样有效,getText()tho仍然出错。-类型字符串的方法getText()未定义
String SDCard = "/sdcard/WhatToEat/Dishes.txt/";