android 对话框listview,如何在警告对话框android中添加自定义ListView

我有一个场景,当我点击按钮时,我想要弹出AlertDialog. AlertDialog是一个自定义警报对话框,因为它具有自定义Listview.

我使用以下代码分配AlertDialog OnClick按钮

top.setOnClickListener(new OnClickListener() {

Context mcontext;

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

LayoutInflater li = LayoutInflater.from(getActivity());

View view= li.inflate(R.layout.topingslist, null);

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getActivity());

alertDialogBuilder.setView(view);

ListView lv2 = (ListView) getActivity().findViewById(R.id.toplist);

ArrayList results1 = new ArrayList();

SearchResultsToping sr1;

sr1 = new SearchResultsToping();

sr1.setToppingname("cheese");

results1.add(sr1);

MyCustomBaseAdapterTop arrayAdapter=new MyCustomBaseAdapterTop(getActivity(), results1);

lv2.setAdapter(arrayAdapter);

lv2.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override

public void onItemSelected(AdapterView> arg0, View arg1, int arg2,long arg3) {

// TODO Auto-generated method stub

}

@Override

public void onNothingSelected(AdapterView> arg0) {

// TODO Auto-generated method stub

}

});

alertDialogBuilder

.setCancelable(false)

.setPositiveButton("OK",new DialogInterface.OnClickListener()

public void onClick(DialogInterface dialog,int id) {

})

.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,int id) {

dialog.cancel()

}

});

// create alert dialog

AlertDialog alertDialog = alertDialogBuilder.create();

// show it

alertDialog.show();

}

});

这是我对customlistview的customBaseadapter

public class MyCustomBaseAdapterTop extends BaseAdapter {

private static ArrayList searchArrayListtop;

private LayoutInflater mInflater;

Context ctx=null;

public MyCustomBaseAdapterTop(Activity activty, ArrayList results1) {

searchArrayListtop = results1;

this.ctx=activty;

mInflater = activty.getLayoutInflater();

}

@Override

public int getCount() {

// TODO Auto-generated method stub

// return 0;

return searchArrayListtop.size();

}

@Override

public Object getItem(int arg0) {

// TODO Auto-generated method stub

return null;

//return searchArrayListtop.get(arg0);

}

@Override

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return 0;

}

@Override

public View getView(int arg0, View convertView, ViewGroup arg2) {

// TODO Auto-generated method stub

final ViewHolder holder;

if (convertView == null) {

Log.d("base", "listbase");

convertView = mInflater.inflate(R.layout.each_toping, null);

holder = new ViewHolder();

holder.txttopname = (TextView) convertView.findViewById(R.id.topname);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

holder.txttopname.setText(searchArrayListtop.get(arg0).getToppingname());

return convertView;

}

static class ViewHolder {

TextView txttopname;

}

}

这是topinglist.xml文件

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/toplist"

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:cacheColorHint="#0000"

android:divider="@android:color/transparent"

android:dividerHeight="0dp" />

我将Adapter设置为Listview lv2.setAdapter(arrayAdapter)的行;

给我NullPointerException

请帮助我实现这一目标.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值