public class ChooseDialog extends DialogFragment implements DialogInterface.OnClickListener { String URLhome; String Title; String type;/* public static ChooseDialog newInstance() { ChooseDialog dialog = new ChooseDialog(); Log.v("a","shit runs"); Bundle bundle = new Bundle(); dialog.setArguments(bundle); return dialog; }*/ public ChooseDialog(String type) { this.type = type; } @OverrIDe public voID onCreate(Bundle bundle) { super.onCreate(bundle); setCancelable(true); int style = DialogFragment.STYLE_norMAL,theme = 0; setStyle(style,theme); } @OverrIDe public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(type); builder.setNegativebutton("Cancel",this); LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE); VIEw dialogLayout = inflater.inflate(R.layout.dialog,null); builder.setVIEw(dialogLayout); final String[] items = {"Red","Green","Blue" }; builder.setAdapter(new ArrayAdapter<String>(getActivity(),androID.R.layout.simple_List_item_1,items),new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog,int which) { Log.v("touched: ",items[which].toString()); }} ); return builder.create(); } @OverrIDe public voID onClick(DialogInterface dialog,int which) { // Todo auto-generated method stub }}
以及启动对话框的代码:
public OnClickListener Listener = new OnClickListener() { public voID onClick(VIEw v) { showNationalityDialog(); }};private voID showNationalityDialog() { FragmentManager fm = getSupportFragmentManager(); ChooseDialog nationalityDialog = new ChooseDialog("Nationality"); nationalityDialog.show(fm,"fragment_edit_name");}解决方法 我知道这个问题从未引起太多关注,但我终于解决了这个问题.
通过使用我在XML中创建的列表视图而不是设置构建器的适配器,我设法摆脱了所有多余的空间.
这是新代码的样子:
switch (editText.getID()) { case (0) : ListVIEw List = (ListVIEw) dialogLayout.findVIEwByID(R.ID.ListVIEw1); List.setAdapter(new ArrayAdapter<String>(activity,R.layout.dialogList,activity.getResources().getStringArray(R.array.ageArray))); List.setonItemClickListener(new OnItemClickListener() { public voID onItemClick(AdapterVIEw<?> arg0,VIEw arg1,int arg2,long arg3) { editText.setText(activity.getResources().getStringArray(R.array.ageArray)[arg2]); dismiss(); } }); builder = (Integer.parseInt(androID.os.Build.VERSION.SDK) < 11)? new AlertDialog.Builder(activity) : new AlertDialog.Builder(activity,androID.R.style.theme_Translucent); builder.setNegativebutton("Cancel",this); builder.setVIEw(dialogLayout); return builder.create();总结
以上是内存溢出为你收集整理的android – 在ListView下面有额外空格的DialogFragment全部内容,希望文章能够帮你解决android – 在ListView下面有额外空格的DialogFragment所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)