Android资源未findexception?

我有一个奇怪的问题,使用findViewById(id)。 即使资源确实存在,资源也没有find。 这是在另一个textview旁边的布局中的textview,我可以通过idfind的textviews之一,但另一个显示资源未find。 这有什么理由可能发生?

尝试清理您的项目或张贴一些代码。

有时,如果您使用的是Eclipse,则无法正确重新生成ID。 这需要清理项目,有时会刷新。

确保你不是真的只是设置文本到一个数字,并期望它自动转换为一个string。

exception抛出的消息不是很具描述性。 它非常可能的情况下,你正试图把int值转换为string ,应用下面的更改为我解决了这个问题。

解决之前的代码:

  itemPrice.setText(foodMenuItems.get(position).getItemPrice()); 

解决之后的代码:

  itemPrice.setText(Integer.toString(foodMenuItems.get(position).getItemPrice())); 

textViewCount.setText(someArray.size()); 是我的问题。

只需调用toString(); 解决问题。

  Integer size = mSomeArray.size(); textViewReplyCount.setText(size.toString()); 

只是为了澄清Terra Caines的答案,因为我看到它发生在很多人身上; TextView和其他文本组件具有2个带1个参数的setText()函数。

其中之一是一个String和一个int。 int显然是一个string资源,比如R.string.myString – 对于那些不知道的人来说, R.exm总是被表示为int 。 string是用来放置一个string的。

所以例如我想把int x = 1; 在一个textView中。 做mTextView.setText(x); 会导致textView使用资源function,因为可能没有资源与ID 1它会抛出exception资源找不到。 如果你想在setText()函数中放置一个int或任何数字,确保将其转换为String (x+"")(x.toString())将为你做诡计。

希望能为人们节省一些时间。

确保你没有设置任何不可用的编程属性。 我有同样的问题,原因是RemoteView.setFloat(id,"setWeight",1.0f); 到一个LinearLayout ,在4.x之前不支持Android。不幸的是,这个错误消息对此没有太大的帮助。