简单的自定义dialog并且加入listview

一个简单的自定义dialog嵌套了listview,当点击了listview的条目时,将选中的数据回传到相应的activity里,方便使用。采用的方法是在dialog里定义了一个接口,需要用到数据的activity实现此接口!代码如下:

public class MyDialog extends Dialog {
    private Context mContext;
    private HashMap<String,String> mHashMap;
    private View  mView;
    private ListView mListView;
    private SendData mData;
    //定义一个接口,用于回调,这样选中的dialog的数据就可以在相应的activity调用
    public interface SendData{
        void sendviewdata(String m);
    }
    public MyDialog(Context context ,SendData data) {
        super(context );
        this.mContext =context;
        this.mData=data;
        initView();
    }
    public void initView(){
        LayoutInflater inflater = LayoutInflater.from(mContext);
        mView=inflater.inflate(R.layout.mydefine,null);
        mListView=(ListView)mView.findViewById(R.id.containerlist);
        String[] m = {"pppp","ooo","mmm"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext,android.R.layout.simple_list_item_1,m);
        mListView.setAdapter(adapter);
        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //此处调用
               mData.sendviewdata("ddddddd");
               dismiss();
            }
        });

    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(mView);
        Window window = getWindow();
        WindowManager.LayoutParams wl = window.getAttributes();
        wl.x = 0;
        wl.y = 0;
        wl.gravity = Gravity.CENTER;
        window.setAttributes(wl);


    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值