您好我使用的AlertDialog没有自定义视图,使用以下方法设置列表的数组适配器:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
final EditText input = new EditText(MainActivity.this);
builder.setView(input);
builder.setTitle("Please Select");
String[] listStrings = {"string1", "string2"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, listStrings);
builder.setSingleChoiceItems(arrayAdapter, 0, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
}
});
builder.show();
我希望附加EditText
用于搜索列表,但EditText
显示在列表的末尾。我希望EditText
位于列表的首位,因此请在不使用自定义布局的情况下向我推荐。
final EditText input = new EditText(MainActivity.this);
builder.setView(input);
我尝试改变builder.setView(input);
答案 0 :(得分:0)
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
final EditText input = new EditText(MainActivity.this);
LinearLayout layout=new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
layout.addView(input);
builder.setTitle("Please Select");
String[] listStrings = {"string1", "string2"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, listStrings);
ListView list=new ListView(this);
list.setAdapter(arrayAdapter);
layout.addView(list);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
builder.setView(layout);
builder.show();
答案 1 :(得分:0)
试试这个
boolean checked = false;
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LinearLayout linear = new LinearLayout(MainActivity.this);
LinearLayout.LayoutParams parm = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
linear.setOrientation(LinearLayout.VERTICAL);
linear.setLayoutParams(parm);
final EditText input = new EditText(MainActivity.this);
builder.setTitle("Please Select");
linear.addView(input);
String[] listStrings = {"string1", "string2"};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_single_choice, listStrings);
ListView list=new ListView(this);
list.setAdapter(arrayAdapter);
linear.addView(list);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CheckedTextView chk = (CheckedTextView) view;
Log.d("", "Checked = " + checked);
checked = checked ? false:true;
chk.setChecked(checked);
}
});
builder.setView(linear);
builder.show();