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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---