1

对不起,奇怪的问题,我仍然是 Android 编程的新手。

我有以下代码:

import android.content.DialogInterface.OnClickListener;
import android.view.View.OnClickListener;

并且 eclipse 告诉我View.OnClickListener已经与另一个导入语句发生冲突。

我正在使用Dialog.OnClickListener我的AlertDialogView.OnClickListener我的Button. 我用它Button来显示AlertDialog. 如何为此做正确的事情?

这是我的代码:

// This OnClickListener is still showing error in eclipse    
btnListLocation.setOnClickListener(new OnClickListener() {  
    public void onClick(View arg0) { 
        // TODO Auto-generated method stub
        showAllListLocation(location);
    }
});

private void showAllListLocation(String[] location) {
    AlertDialog.Builder b = new Builder(this);
    b.setTitle("Choose your location");
    b.setSingleChoiceItems(location, 0, new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            dialog.dismiss();

        }
    });
    b.show();
}

提前致谢。

4

3 回答 3

3

按钮扩展View。所以对于Button你可以使用View.OnClickListener

对于对话框 - DialogInterface.OnClickListener

简单使用:

Button b;
//b init

b.setOnClickListener(new View.OnClickListener()
{
        
@Override
public void onClick(View arg0)
{
    new AlertDialog.Builder(_context_)
    .setCancelable(false)
    .setTitle("MyDialog")
    .setMessage("MyMessage")
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() 
        {
            @Override
            public void onClick(DialogInterface dlg, int which) 
            {
                //Logic
            }
        }).show();
}
});
于 2013-08-12T08:06:54.297 回答
3

import您可以显式声明的类型,而不是使用,OnClickListener()以避免冲突:

Button a = new Button(MainActivity.this);
            a.setOnClickListener(new android.view.View.OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub

                }
            });


            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                    MainActivity.this);
            alertDialogBuilder.setPositiveButton("abc", new android.content.DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub

                }
            });

希望这可以帮助。

于 2013-08-12T08:11:09.213 回答
0

许多类都有一个点击监听器来处理点击事件。

您正在导入 2 个类,因此编译器不知道在您调用onClick(). 它警告你。

如果要覆盖onClick()Button 的功能,则必须使用View.OnClickListener.

对于按钮:

mButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v){
                // Here is where button click runs.
        }

});
于 2013-08-12T08:04:14.240 回答