0

カスタム ダイアログは、プログラムの特定の時点で、たとえば [編集] ボタンを押したときに閉じますが、リスト ビューから何かを選択して [追加] ボタンを押してもダイアログは閉じません。両方のボタンが以下の同じコードを使用することになりますが、どちらが実行されるかは if ステートメントによって決定されます。いずれにせよ、問題は pcDialog.dismiss() が if ステートメントの外側にあるため、常に破棄する必要がありますが、そうではありません。

問題が何であるかについてのアイデアはありますか?私のダイアログは、メソッドの外側でメンバーとして宣言されています。

createDoneBtn.setOnClickListener(
                new View.OnClickListener() 
                {   
                    @Override
                    public void onClick(View v) 
                    {
                        if ( !editingPC )
                        {
                            ...
                        }
                        else if ( editingPC )
                        {
                            ...
                        }
                        adapter.notifyDataSetChanged();
                        pcDialog.dismiss();
                    }
                });
4

2 に答える 2

4

たぶんこれは大丈夫ですが、あなたのコードはすぐに現れる2番目のものを作りますか?または、例外がスローされてもサイレントにキャッチされるため、ステップインすることはありませんdismiss()か?

于 2011-12-17T18:48:14.993 に答える
1

なぜ最初にデバッグしないのですか?

そして、try - catch - finally に入れるのがベストプラクティスだと思います。次に、最終的に却下を呼び出すことができます。

于 2011-12-17T19:10:07.603 に答える