java.lang.RuntimeException: Unable to start activity ComponentInfo{com.william/c

   最近忙裏偷閒學習了一些Android,爲以後轉做Android打下基礎。在今天做一個例子的時候,遇到了一個異常,我看了很久,最後終於找到問題所在。

 

   異常:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.william/com.william.ResultActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x14

 

 解決:TextView 對象中有一個方法爲setText(param) ,當你傳入一個int類型的值時,代碼是不會報錯的,但是當你運行着程序的時候,就會報出上面的錯誤。上網查了一些資料,最後知道爲什麼會有這樣的錯誤出現,因爲這是由於Android 會認爲你傳入的 int 型的數值是某個 resource 的 id ,那運行時就會出錯。

 

public class ResultActivity extends Activity {
	private TextView myResult;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.result);
		//得到CalculateActivity傳遞過來的值
		Intent intent = getIntent();
		String oneValue = intent.getStringExtra("one");
		String twoValue = intent.getStringExtra("two");
		int oneIntValue = Integer.parseInt(oneValue);
		int twoIntValue = Integer.parseInt(twoValue);
		int lastValue = oneIntValue * twoIntValue;
		myResult = (TextView)findViewById(R.id.result);
		myResult.setText(lastValue+"");
	}
	
}

  

    myResult.setText(lastValue+"")代碼,如果只myResult.setText(lastValue)寫的話,那麼這個lastValue值就是一個int類型的值了,那麼只需要在後面加上一個空的字符串就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章