2015-05-02 3 views
1

У меня есть listActivity, который отображает через адаптер фид XML извлекается из Интернета, ADN файл макета activity_list_feed.xml:я не могу добавить кнопку для линейной компоновки

`<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:drawSelectorOnTop="false" 
    android:transcriptMode="normal" 
    />` 

В графическом редакторе я не могу перетащить кнопка в эту схему, и когда я пытаюсь жёстко, как в этот файл:

`<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 
<Button 
    android:id="@+id/addBtn" 
    android:text="Add New Item" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:onClick="addItems"/> 
<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:drawSelectorOnTop="false" 
    android:transcriptMode="normal" 
    /> 
</LinearLayout>` 

я получаю сообщение об ошибке компиляции:

java.lang.ClassCastException: android.widget.LinearLayout не может be cast to android.widget.TextView

Как добавить кнопку в верхней части списка, потому что я хочу обновить pull.thank.

ответ

0

Код, который вы предоставили на самом деле работает в его текущем состоянии в Android Studio:

Убедитесь, что в вашем коде Java, вы ссылаетесь на правильный пункт. Убедитесь, что вы устанавливаете общий макет в качестве макета, а THEN - findViewById(R.layout.addBtn).

Кроме того, попробуйте изменить версию Android в IDE на 22 (так как я установил ее в верхнем правом углу изображения). Это может решить вашу ошибку.

0

Мне удалось добавить кнопку в редакторе, и это без установки на API 22 в соответствии с вашим изображением. Однако программа еще не компилировалась.

Ошибка сообщения «ArrayAdapter требует, чтобы идентификатор ресурса был TextView» означал, что я не предоставил правильный аргумент адаптеру.

Согласно этому ответу: "ArrayAdapter requires the resource ID to be a TextView" xml problems оказывается, что выбор конструктора важно, так как я хотел бы добавить кнопку в представлении, я должен использовать конструктор с 4-мя аргументов (дополнительный аргумент является идентификатором вид): http://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context,int,int,java.util.List)

Использование этого конструктора решает проблему.

Смежные вопросы