如何在android中的单选项目警告对话框中显示多行

时间:2012-05-28 13:08:46

标签: android alertdialog android-alertdialog

我正在一个警告对话框中显示项目列表,其中包含单项选择项目模式,没有任何问题。 如果长度超过最大宽度大小,如何以两行显示每个项目文本。 列表项是动态加载的,因此我们无法通过\ n断点编辑它们。

任何人都可以帮助我。

提前感谢。

谢谢

Sathish所在


感谢您的回复, 这里我使用AlertDialog.Builder来显示带有默认选项的对话框

AlertDialog.Builder builder=new AlertDialog.Builder(this);
     builder.setTitle("Select the Dealershipname");

     builder.setSingleChoiceItems(items, selectedDealershipname , new OnClickListener() 
     { 
       @Override
       public void onClick(DialogInterface dialog, int which) 
       {


          dialog.cancel();

       }
       });

     builder.show();

这里我没有使用任何android.R.id.Text1类型的布局。那我怎么能在这里改变textview的属性呢。

2 个答案:

答案 0 :(得分:1)

在对话框列表中的TextViews上使用setSingleLine(false)。您可以使用自定义ArrayAdapter获取对textview的引用:

        String[] items = {"foo foo foo foo foo foo foo", "bar bar bar bar bar bar", "foobar foobar foobar foobar foobar foobar"};

        ListAdapter adapter = new ArrayAdapter<String>(this,
                android.R.layout.select_dialog_item, android.R.id.text1, items) {
            public View getView(int position, View convertView, ViewGroup parent) {
                // User super class to create the View
                View v = super.getView(position, convertView, parent);

                // TextView title =
                // (TextView)v.findViewById(android.R.id.title);
                TextView tv = (TextView) v.findViewById(android.R.id.text1);

                tv.setSingleLine(false);

                return v;
            }
        };

答案 1 :(得分:1)

您可以更好地实现自定义ArrayAdapter,您可以在其中以编程方式在适配器内更改列表项的布局。见这里:Custom ArrayAdapter Tutorial

除了自定义适配器之外,您还可以使用android.R.layout.simple_list_item_single_choice作为传递给ArrayAdapter的布局。它仍将使用android.R.id.text1作为其TextView,并将自动处理RadioButton而无需您的进一步干预。