2017-04-13 9 views
0

ボタン/チェックボックスをクリックして、ユーザーが "お気に入り"にスペシャルを追加できるようにアイテムのListViewにボタンを追加しようとしています。この機能を追加する前に、リストのレイアウトは上手く見えました。Androidの "ListView"アイテムのテキストが重なり合って途切れる

ここでイメージ "の前に" されています。今

ArrayList<Special> specials = specialda.getAllSpecialsByDay(selectedDay); 
ListView listView = (ListView) findViewById(R.id.listView); 
ArrayAdapter<Special> adapter = new ArrayAdapter<Special>(this, android.R.layout.simple_list_item_1, specials); 
listView.setAdapter(adapter); 

、これにJavaコードを変更した後:

ArrayList<Special> specials = specialda.getAllSpecialsByDay(selectedDay); 
ListView listView = (ListView) findViewById(R.id.listView); 
     ArrayAdapter<Special> adapter = new ArrayAdapter<Special>(this, android.R.layout.simple_list_item_multiple_choice, specials); 
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 
listView.setAdapter(adapter); 

ここGood Layout

は "前" のJavaコードであります私はこの歪んだビューで終わります:

After imageここで は、XMLレイアウトファイルです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.yourfullname.flashcards.laxspecials.DisplaySpecials" 
    tools:showIn="@layout/activity_display_specials"> 

    <ListView 
     android:id="@+id/listView" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 
</LinearLayout> 

私が間違っているのか、変更する必要があるのです何上の任意のヒント?

おかげ

EDIT:android.R.layout.simple_list_item_multiple_choice行い、必要な変更の

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/listView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?android:attr/listPreferredItemHeightSmall" 
    android:textAppearance="?android:attr/textAppearanceListItemSmall" 
    android:gravity="center_vertical" 
    android:checkMark="?android:attr/listChoiceIndicatorMultiple" 
    android:paddingStart="?android:attr/listPreferredItemPaddingStart" 
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" 
    android:paddingLeft="?android:attr/listPreferredItemPaddingLeft" 
    android:paddingRight="?android:attr/listPreferredItemPaddingRight"/> 

</LinearLayout> 

答えて

1

あなたがdublicateできるソース:ここdisplay_specials_button.xmlファイルをバックアップしていること、今、

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?android:attr/listPreferredItemHeightSmall" 
    android:textAppearance="?android:attr/textAppearanceListItemSmall" 
    android:gravity="center_vertical" 
    android:checkMark="?android:attr/listChoiceIndicatorMultiple" 
    android:paddingStart="?android:attr/listPreferredItemPaddingStart" 
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" /> 

差があります異なる方法でandroid:minHeightandroid:layout_heightを提供してください。

+0

このxmlはどこに配置しますか? –

+0

レイアウトを作成してアダプタに渡す: '新しいArrayAdapter (これはR.layout.your_new_layout、スペシャル); – azizbekian

+0

OK実行時に「セッションアプリケーション」:APKのインストール中にエラーが発生する –

関連する問題