2014-02-28 37 views
0

解析時顯示錯誤。 我只想傳遞用戶獲得的整數值。 但它解析時顯示錯誤。 因此,此外糾正如何接受來自用戶的整數值的問題,以及如何以整數格式傳遞它。 編碼:EditText上的如何使用數字類型EditText傳遞一個整數值?

String s=et1.getText().toString(); 
if(s.matches("")){ 
    Toast t1= Toast.makeText(MainActivity.this, "Empty", 2000); 
    t1.show(); 
} 
else{ 
    int l = Integer.parseInt(s); 
    Toast t2= Toast.makeText(MainActivity.this, s, 2000); 
    t2.show(); 
    tv1.setText(l); 
    Intent i1= new Intent(Loadscreen.this,Game01.class); 
    i1.putExtra("l", l); 
    startActivity(i1); 
    Loadscreen.this.finish(); 
} 

的XML部分

<EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:layout_x="0dp" 
     android:layout_y="219dp" 
     android:background="#00000000" 
     android:ems="10" 
     android:gravity="center_vertical" 
     android:hint="Specify Level" 
     android:inputType="number" /> 

堆棧跟蹤:

02-28 20:06:24.332: E/AndroidRuntime(647): FATAL EXCEPTION: main 
02-28 20:06:24.332: E/AndroidRuntime(647): android.content.res.Resources$NotFoundException: String resource ID #0x5 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.content.res.Resources.getText(Resources.java:201) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.widget.TextView.setText(TextView.java:2857) 
02-28 20:06:24.332: E/AndroidRuntime(647): at com.example.abc.MainActivity$1.onClick(MainActivity.java:37) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.view.View.performClick(View.java:2485) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.view.View$PerformClick.run(View.java:9080) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Handler.handleCallback(Handler.java:587) – Shubhankar 2 mins ago  
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Handler.dispatchMessage(Handler.java:92) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Looper.loop(Looper.java:123) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.app.ActivityThread.main(ActivityThread.java:3683) 
02-28 20:06:24.332: E/AndroidRuntime(647): at java.lang.reflect.Method.invokeNative(Native Method) 
02-28 20:06:24.332: E/AndroidRuntime(647): at 

java.lang.reflect.Method.invoke(Method.java:507)

+0

什麼是錯誤? – Raghunandan

+0

活動響應爲強制關閉並且錯誤在行「int l = Integer.parseInt(s);」如logcat中所指定。 – Shubhankar

+0

發佈堆棧跟蹤然後 – Raghunandan

回答

1

更改爲

int l = Integer.parseInt(s); 
tv1.setText(String.valueOf(l)); 

setText需要CharacterSequence。不過也有一種方法將resourceid作爲參數。在你的情況下,setText帶int。如果android沒有找到提及的id的資源,你會得到ResourceNotFoundException

+0

它相同... – Shubhankar

+0

int l = Integer.parseInt(s); Toast t2 = Toast.makeText(MainActivity.this,s,2000); t2.show(); tv1.setText(l); – Shubhankar

+0

@Shubhankar沒有它沒有。 – Raghunandan

相關問題