gpt4 book ai didi

android - 为什么无法识别我的自定义布局文件?

转载 作者:行者123 更新时间:2023-11-29 14:20:59 25 4
gpt4 key购买 nike

我在\res\layout 中创建了一个名为 contactlist.xml 的文件

但在我的代码中无法识别:

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
//android.R.layout.simple_list_item_1, mContacts, //if cre8 own layout, replace "simple_[etc]"
//android.R.layout.simple_list_item_checked, mContacts, // or simple_list_item_multiple_choice
//android.R.layout.simple_list_item_multiple_choice, mContacts,
android.R.layout.contactlist, mContacts, // <- contact list ist xml-non-grata
new String[] { ContactsContract.Contacts.DISPLAY_NAME },
new int[] { android.R.id.text1 });

我想创建一个自定义布局,每个联系人都有三个复选框。

为什么我的自定义布局不被接受为有效?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2012 年 2 月 9 日更新:

终于!

借助 stackOverflowers 和这篇文章:http://www.vogella.de/articles/AndroidListView/article.html

我终于让它工作了;像往常一样,一旦理解了几个概念就没那么难了。归结为使用这种代码,我乞求/借用/窃取并改编:

@覆盖public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

// Return all contacts, ordered by name
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME };
mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI,
projection, null, null, ContactsContract.Contacts.DISPLAY_NAME);

// Display all contacts in a ListView
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
R.layout.ondemandandautomatic_authorize, mContacts,
new String[] { ContactsContract.Contacts.DISPLAY_NAME },
new int[] { R.id.contactLabel });

setListAdapter(mAdapter);

...并确保“ondemandandautomatic_authorize”(或您为布局文件命名的任何名称)是这样的(未完成,但您明白了):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1" />

<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />

<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />

<TextView
android:id="@+id/contactLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(replace this)"
android:textSize="20px" >
</TextView>

</LinearLayout>

...并且“R.id.contactLabel”被替换为“R.id”。

显然,还有更多工作要做,但已经跨越了一个大障碍。

最佳答案

应该是

R.layout.contactlist

不是

android.R.layout.contactlist

当你使用系统资源时使用android。

关于android - 为什么无法识别我的自定义布局文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com