0

連絡先の追加アプリがあり、一部にはすでに登録されている連絡先が表示されるので、クリックすると(名前と電話番号)と[OK]ボタンが表示されるので、[削除]ボタンを追加してその値を削除します(ダイアログからのデータベースからの連絡先の値)。コードは次のとおりです。

連絡先のListView:

   ListView user = (ListView) findViewById(R.id.lvShowContatos);
    //String = simple value ||| String[] = multiple values/columns
    String[] campos = new String[] {"nome", "telefone"};

    list = new ArrayList<String>();
    c = db.query( "contatos", campos, null, null, null, null, null);
    c.moveToFirst();
    String lista = "";
    if(c.getCount() > 0) {
        while(true) {
           list.add(c.getString(c.getColumnIndex("nome")).toString());
            if(!c.moveToNext()) break;
        }
    }

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, list);

    user.setAdapter(adapter);

    user.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            c.moveToPosition(position);
            String nome = c.getString(c.getColumnIndex("nome"));
            String telefone = c.getString(c.getColumnIndex("telefone"));
            ShowMessage(nome, telefone);
        }
    });

そして、表示されるダイアログである「ShowMessage」コードがあります。

       public void ShowMessage(String titulo,String msg){
    AlertDialog.Builder dialogo = new AlertDialog.Builder(this);        
    dialogo.setMessage(msg);        
    dialogo.setTitle(titulo);
    dialogo.setNeutralButton("OK", null);       
    dialogo.show();
}
4

2 に答える 2

2
dialogo.setNegativeButton("Delete", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    //delete contact or what you want.
               }
           });

またはあなたのコードのように:

dialogo.setNegativeButton("Delete", null);

詳細については、http://developer.android.com/guide/topics/ui/dialogs.htmlをご覧ください。

于 2012-09-19T17:50:04.240 に答える
0

こちらのドキュメントで説明されているように、カスタムダイアログを使用する必要があります

http://developer.android.com/guide/topics/ui/dialogs.html

于 2012-09-19T17:50:49.930 に答える