blindfold wrote:
> Not using @+id through
> 
> ArrayAdapter<String> MyList = new ArrayAdapter<String>(this,
> R.layout.mylist);
> 
> works fine, but using @+id through
> 
> ArrayAdapter<String> MyList = new ArrayAdapter<String>(this,
> R.id.mylist);
> 
> does not, where my mylist.xml reads
> 
> <?xml version="1.0" encoding="utf-8"?>
> <TextView xmlns:android="http://schemas.android.com/apk/res/android";
>     android:layout_width="fill_parent"
>     android:layout_height="wrap_content"
>     android:textAppearance="?android:attr/textAppearanceLarge"
>     android:gravity="center_vertical"
>     android:paddingLeft="6dip"
>     android:minHeight="?android:attr/listPreferredItemHeight"
>     android:id="@+id/mylist"
> />
> 
> It all compiles just fine, but at runtime I get
> 
> ERROR/AndroidRuntime(1356): android.content.res.Resources
> $NotFoundException: Resource ID #0x7f06001a type #0x12 is not valid
> 
> Am I missing some conceptual issue with the use of ArrayAdapter or the
> way @+id gets expanded? Of course I can just use R.layout.mylist, but
> it feels a bit inconsistent as I use the R.id referencing in my source
> code with many other items (albeit through findViewById()).

R.layout points to layout resources. Layout resources are used whenever
Android wants to inflate a tree of Views, such as setContentView(),
manual inflation via getLayoutInflater(), etc.

R.id points to individual widgets (Views) within an inflated layout.
R.id values have no meaning outside the context of a specific layout --
in other words, R.id.fu means nothing on its own, but
myInflatedView.findViewById(R.id.fu) might, if myInflatedView was
inflated from a layout resource that had something with
android:id="@+id/fu".

In the documentation for the ArrayAdapter constructor you're using, the
second parameter is described as:

"The resource ID for a layout file containing a TextView to use when
instantiating views."

Hence, it is expecting something in the R.layout space ("resource ID for
a layout file").

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com
_The Busy Coder's Guide to Android Development_ Version 1.9 Available!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to