Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在ListView下面有额外空格的DialogFragment大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正如你所看到的,在我的ListView中的底部列表元素下面,有一些我似乎无法摆脱的空间.我尝试过Relative和Linearlayout,看起来都像这样.这是代码

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所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。