在警报对话框内充气视图

时间:2012-05-23 14:40:17

标签: android

我需要问一下如何在警报对话框中给三个按钮充气。基本上列表视图是可用的,当用户长按列表项时,会出现一个警告对话框,对话框应该有编辑,删除和其他一些按钮,按钮应该按下时执行任务,我真的很感激它,如果有人可以告诉我应该如何使用按钮充气警报对话框。谢谢

5 个答案:

答案 0 :(得分:1)

无需发明轮子两次.. 它被称为上下文菜单: http://developer.android.com/guide/topics/ui/menus.html

答案 1 :(得分:1)

如果您使用AlertDialog.Builder,则可以添加三个按钮。

new AlertDialog.Builder(this)
    .setPositiveButton("Edit", new OnClickListener()
        {
            // Code Here
        })
    .setNeutralButton("Delete", new OnClickListener()
        {
            // Code Here
        })
    .setNegativeButton("Delete", new OnClickListener()
        {
            // Code Here
        })
    .create()
    .show();

答案 2 :(得分:0)

您可以使用上下文菜单,如下所示:

final OnCreateContextMenuListener occml = new OnCreateContextMenuListener() {

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
    {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
        menu.setHeaderTitle(pi.getBrowserIdentifier());
        menu.add(R.id.actionBarMenu_Settings, R.string.one, 1, getString(R.string.one));
        menu.add(R.id.actionBarMenu_Settings, R.string.two, 2, getString(R.two));
        menu.add(R.id.actionBarMenu_Settings, R.string.three, 3, getString(R.string.three));
    };
_listView= (ListView) findViewById(R.id.list);
_listView.setOnCreateContextMenuListener(occml);

答案 3 :(得分:0)

我这样做,你也可以

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Seçenekler");
    builder.setAdapter( /*#your adapter here#*/, new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {

//do something
                        }
                    });

答案 4 :(得分:0)

下一个代码捕获视图覆盖自定义对话框类中的setView extends alertdialog:

class example extends Activity{


private void onClick_show_dialog( View v )
{


    LayoutInflater lainf = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final View frmFileSystem = lainf.inflate(R.layout.dlg_filesystem, (ViewGroup) findViewById(R.id.lilaFileSystem));

    dlg_filesystem = new DlgFileSystem(this);
    dlg_filesystem.setView(frmFileSystem);
    dlg_filesystem.setCancelable(true);
    dlg_filesystem.setButton( 'aceptar' , new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int which )
    {
        alert( dlg_filesystem.prueba );
    }});
    dlg_filesystem.setButton2( 'cancelar' , new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int which )
    {
    }});
    dlg_filesystem.show();
}

}

public class DlgFileSystem extends AlertDialog{
public String prueba;
private Context context;
private View frmFileSystem;

public DlgFileSystem(Context context)
{ 
    super(context);
    this.context = context;
}

@Override
public void setView( View frmFileSystem )
{
    super.setView(frmFileSystem);
    this.frmFileSystem = frmFileSystem;
    TextView txprueba = (TextView)frmFileSystem.findViewById(R.id.txPrueba);
    txprueba.setText("adios");
}   
}