Android 如何在spinnerview单击时打开警报对话框?

Android 如何在spinnerview单击时打开警报对话框?,android,Android,我有一个观点。我想在spinnerview单击时打开警报对话框 我正在使用下面的代码,但无法在适配器中添加字符串 sp1.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { Dialog dialog = new Dialog(Wantto.this); dialog.setContentView(R.layout.

我有一个观点。我想在spinnerview单击时打开警报对话框

我正在使用下面的代码,但无法在适配器中添加字符串

sp1.setOnTouchListener(new OnTouchListener() 
{

    public boolean onTouch(View v, MotionEvent event) {
        Dialog dialog = new Dialog(Wantto.this);
        dialog.setContentView(R.layout.age);
        dialog.setTitle("Age");
        lv1=(ListView)findViewById(R.id.list1);
        lv2=(ListView)findViewById(R.id.list2);
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_num));
        dialog.show();
        return false;
    }


});

sp1.setOnTouchListener(new OnTouchListener() 
{

    public boolean onTouch(View v, MotionEvent event) {
        Dialog dialog = new Dialog(Wantto.this);
        dialog.setContentView(R.layout.age);
        dialog.setTitle("Age");
        lv1=(ListView)findViewById(R.id.list1);
        lv2=(ListView)findViewById(R.id.list2);
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_num));
        dialog.show();
        return false;
    }


});
sp1.setOnTouchListener(new OnTouchListener() 
{

    public boolean onTouch(View v, MotionEvent event) {
        Dialog dialog = new Dialog(Wantto.this);
        dialog.setContentView(R.layout.age);
        dialog.setTitle("Age");
        lv1=(ListView)findViewById(R.id.list1);
        lv2=(ListView)findViewById(R.id.list2);
        lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , lv_num));
        dialog.show();
        return false;
    }


});
sp1.setOnTouchListener(新的OnTouchListener()
{
公共布尔onTouch(视图v,运动事件){
Dialog=新建对话框(Wantto.this);
setContentView(R.layout.age);
对话框。设置标题(“年龄”);
lv1=(ListView)findViewById(R.id.list1);
lv2=(ListView)findViewById(R.id.list2);
lv1.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,lv_num));
dialog.show();
返回false;
}
});
setOnTouchListener(新的OnTouchListener()
{
公共布尔onTouch(视图v,运动事件){
Dialog=新建对话框(Wantto.this);
setContentView(R.layout.age);
对话框。设置标题(“年龄”);
lv1=(ListView)findViewById(R.id.list1);
lv2=(ListView)findViewById(R.id.list2);
lv1.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,lv_num));
dialog.show();
返回false;
}
});
setOnTouchListener(新的OnTouchListener()
{
公共布尔onTouch(视图v,运动事件){
Dialog=新建对话框(Wantto.this);
setContentView(R.layout.age);
对话框。设置标题(“年龄”);
lv1=(ListView)findViewById(R.id.list1);
lv2=(ListView)findViewById(R.id.list2);
lv1.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,lv_num));
dialog.show();
返回false;
}
});

如何解决它。这里出现了问题
lv1.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item1),lv_num))

onCreateInstance()中声明对话框

并在TouchListener中调用此方法,否则使用

Dialog dialog = new Dialog(getParent());
在另一个子视图或子视图中初始化视图或警报不起作用有时会引发异常,也可能发生强制


谢谢

您可以通过以下方式解决此问题:

  • 分级纺纱机
  • 重写performClick()方法以生成您自己的对话框
  • Dialog dialog = new Dialog(getParent());