我有点问题。我有一个ListView,我使用:
ArrayAdapter adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,
data);
有单一选择的列表。但在这个解决方案中,我在右侧有一个单选按钮,但我希望它们在左侧。我怎么能这样做?
编辑: 我的xml文件:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="92.5">
<TextView
android:id="@+id/user_account_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="109dp"
android:text="@string/user_account_text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ListView
android:id="@+id/user_account"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:scrollbars="vertical"
android:layout_marginRight="100dp"
android:layout_weight="1"
android:layout_marginLeft="100dp">
</ListView>
<Button
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_gravity="center"
android:text="@string/login"
android:background="@drawable/button"
android:textColor="@android:color/white"/>
</LinearLayout>
答案 0 :(得分:7)
制作新的xml
版面并复制android.R.layout.simple_list_item_single_choice
(here)的源代码
然后,
android:checkMark="?android:attr/listChoiceIndicatorSingle"
更改为android:checkMark="@null"
android:drawableLeft="?android:attr/listChoiceIndicatorSingle"
android:drawableLeft="?android:attr/listChoiceIndicatorMultiple"
ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.YOUR_NEW_XML, data);
此主题可能对您有所帮助:How do I make the Checkbox in Android CheckedTextView be left aligned instead of right aligned?
答案 1 :(得分:1)
使用简单的适配器和布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<RadioButton
android:layout_width="wrap_content" android:id="@+id/radio"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:id="@+id/text"
android:layout_height="wrap_content"
android:text="hi" />
</LinearLayout>
SimpleAdapter adapter = new SimpleAdapter(this,data,R.layout.main,new String [] {“”},new int [] {R.id.txt});
list.setAdapter(适配器);