我正在创建一个AlertDialog,它会显示一个单选按钮列表来选择一个。它正如我所需要的那样工作,除了当它被创建时,单选按钮显示在项目文本的左侧,我希望它们显示在对话框的最右侧
以下是我得到的结果(没有足够的声誉来嵌入图片)http://img.ctrlv.in/img/15/09/29/560ab269bad4a.jpg
这是我的代码
AlertDialog.Builder builder = new AlertDialog.Builder(context);
String[] items = new String[]{"1997", "1998", "1999", "2000", "2001"}
builder.setSingleChoiceItems(items, 0, getItemSelectedCallback(false, items));
builder.create().show();
感谢您的帮助。
答案 0 :(得分:3)
事实证明,这可以通过零重构和不使用Spinner来实现。我要做的是创建一个数组适配器,将项目转换为自定义布局。
ArrayAdapter<String> adapter = new ArrayAdapter<>(context, R.layout.checked_text_view, items);
builder.setSingleChoiceItems(adapter, 0, getItemSelectedCallback(false, items));
对于自定义布局,我使用了CheckedTextView
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
/>
这就完成了工作