이런형식의 문자열을 잘라서 .으로 구분해서 자르는건데요
=================================================
public class StringDelActivity extends Activity {
String[] result = null;
Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.button);
String deleteString = "안녕하세요. 저는 배가 고프지 않습니다.";
result = deleteString.split(".");
showLength();
}
public void showLength()
{
Toast.makeText(getApplicationContext(), result.length,
Toast.LENGTH_SHORT).show();
}
}
===============================================
오류 로그입니당
======================================================================================
03-12 09:58:49.980: E/AndroidRuntime(8395): FATAL EXCEPTION: main
03-12 09:58:49.980: E/AndroidRuntime(8395): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.anroid/com.anroid.StringDelActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x0
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.os.Handler.dispatchMessage(Handler.java:99)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.os.Looper.loop(Looper.java:130)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread.main(ActivityThread.java:3687)
03-12 09:58:49.980: E/AndroidRuntime(8395): at java.lang.reflect.Method.invokeNative(Native Method)
03-12 09:58:49.980: E/AndroidRuntime(8395): at java.lang.reflect.Method.invoke(Method.java:507)
03-12 09:58:49.980: E/AndroidRuntime(8395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
03-12 09:58:49.980: E/AndroidRuntime(8395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
03-12 09:58:49.980: E/AndroidRuntime(8395): at dalvik.system.NativeStart.main(Native Method)
03-12 09:58:49.980: E/AndroidRuntime(8395): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.content.res.Resources.getText(Resources.java:201)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.widget.Toast.makeText(Toast.java:266)
03-12 09:58:49.980: E/AndroidRuntime(8395): at com.anroid.StringDelActivity.showLength(StringDelActivity.java:28)
03-12 09:58:49.980: E/AndroidRuntime(8395): at com.anroid.StringDelActivity.onCreate(StringDelActivity.java:21)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
03-12 09:58:49.980: E/AndroidRuntime(8395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
03-12 09:58:49.980: E/AndroidRuntime(8395): ... 11 more
=======================================================================================
자르고나서 result 배열의 length에 관한 연산만 하면 오류를 뱉어내면서 꺼져 버리네요-_-
해결책아시는분 있으신지 도움 부탁들려요~ 도와주세요.ㅠㅠ
Toast에 들어간 length 값을 String 형으로 바꿔주세요.
위 로그에서는 int형 값으로 들어온 length값을 리소스 아이디로 보고 R객체에서 찾으려 했지만 없어서 나는 에러입니다.
Toast.makeText에는 2가지 메소드가 있는데 님이 쓰신거는 리소스에서 읽어오는 makeText(Context context, int resId, int duration)
이거고 평소에 많이사용하는건 makeText(Context context, CharSequence text, int duration) 이거 입니다.
사람들이 많이 사용하는걸 쓰시려면 배열.length가 숫자니깐 +""이렇게 문자로 바꿔주세요.
split(".") 으로 하지마시고
String deleteString = "안녕하세요. 저는 배가 고프지 않습니다."
String[] text = deleteString.split("\\.") 으로 하시면 됩니다.
http://mudchobo.tistory.com/338
요기는 참고사이트 :)




에러로그를 올려주시길