ダイアログが閉じないように setOnShowListener() メソッドを設定したいので、次のように記述します。
public Dialog update_pop_up()
{
    final AlertDialog.Builder builder = new AlertDialog.Builder(UgJadwal.this);
    LayoutInflater inflater = UgJadwal.this.getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.updatepopup, null);
    builder.setView(dialogView);
    builder.setIcon(R.drawable.update);
    builder.setTitle("Update schedule");
    builder.setPositiveButton(R.string.update, new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int id)
        {
        }
    });
    builder.setNeutralButton(R.string.retrieve, new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int id)
        {
        }
    });
    builder.setNegativeButton(R.string.cancel, null);
    return builder.create();
    builder.setOnShowListener(new DialogInterface.OnShowListener()
    {
        @Override
        public void onShow(DialogInterface dialog)
        {
            Button retrieve = builder.getButton(AlertDialog.BUTTON_NEUTRAL);
            retrieve.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    //do nothing;
                }
            });
        }
    });
}
少なくとも Eclipse によって 2 つのエラーが表示されます。最初のエラーはsetOnShowListener「メソッド setOnShowListener(new DialogInterface.OnShowListener(){}) は AlertDialog.Builder 型に対して未定義です」というエラーであり、もう 1 つはそのエラーですbuilder.getButton(AlertDialog.BUTTON_NEUTRAL)。 「メソッド getButton(int) は、タイプ AlertDialog.Builder に対して定義されていません」。私はそれを正しくやったので、なぜエラーが発生するのだろうかと思います。誰もがそれを修正する考えを持っていますか、ありがとう。
【UPDATE!!】 いつもお世話になっております。これが私の最終的な方法ですsetOnShowListener()
dialog.setOnShowListener(new DialogInterface.OnShowListener()
    {
        @Override
        public void onShow(DialogInterface dialog)
        {
            Button retrieve = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_NEUTRAL);
            retrieve.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    datasource.opentoread();
                    String[] hari = datasource.fetchDaily(ids.getText().toString());
                    datasource.close();
                    day.setText(String.valueOf(hari[0]));
                    subject.setText(String.valueOf(hari[1]));
                    time.setText(String.valueOf(hari[2]));
                    location.setText(String.valueOf(hari[3]));
                    lecture.setText(String.valueOf(hari[4]));
                    Toast.makeText(getApplicationContext(), "Retrieve success", Toast.LENGTH_LONG).show();
                }
            });
        }
    });
    return dialog;