1

クリックしたボタンの下にある BaseAdapter 内に Alert Builder を追加しようとしています。これが私のコードです

 Button btn=(Button)vi.findViewById(R.id.btnAdd);
 btn.setOnClickListener(new OnClickListener(){

                             AlertDialog.Builder dialogBox=new AlertDialog.Builder(this);
                 dialogBox.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
                       public void onClick(DialogInterface dialog, int which) {
                          String facebookFriendName = friendsName.getText().toString();
                                String FACEBOOKID = FBID;
                               Log.i("AKO SI: ", ""+facebookFriendName + FACEBOOKID);
                       }
                    });
                    dialogBox.setNegativeButton("No", new DialogInterface.OnClickListener(){

                           public void onClick(DialogInterface dialog, int which) {

                           }
                        });
                    dialogBox.show();     

今、この部分でエラーが発生していますalert_box.show();

問題に見えるのは?

あなたの提案とコメントに基づいて編集します上記のコードを変更し、アクティビティにゲッターとセッターを追加します

private Context context;  
/////////
            public Context getContext() {
        return context;
    }

    public void setContext(Context context) {
        this.context = context;
    }

バインディングの下の私の活動クラスの下で

    adapter2 =new LazyAdapterGetFriends(this, songsList);   
             adapter2.getContext();    
             list.setAdapter(adapter2);

しかし、私はまだ次のようなエラーが表示されます:

*09-11 13:48:49.298: E/AndroidRuntime(1226):    at com.fb.connect.LazyAdapterGetFriends$1.onClick(LazyAdapterGetFriends.java:95)

*pointing at AlertDialog.Builder dialogBox=new AlertDialog.Builder(context);
4

5 に答える 5

1

これを試して

  Button btn=(Button)vi.findViewById(R.id.btnAdd);
  btn.setOnClickListener(new OnClickListener(){

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


        AlertDialog.Builder ab=new AlertDialog.Builder(MainActivity.this);
        ab.setPositiveButton("Yes", new DialogInterface.OnClickListener(){
           @Override 
           public void onClick(DialogInterface dialog, int which) {
              String facebookFriendName = friendsName.getText().toString();
                    String FACEBOOKID = FBID;
                   Log.i("AKO SI: ", ""+facebookFriendName + FACEBOOKID);
           }
        });
        ab.setNegativeButton("No", new DialogInterface.OnClickListener(){
               @Override 
               public void onClick(DialogInterface dialog, int which) {

               }
            });
        ab.show();                       
    }                
});

助けてほしい

編集

これを試してください

AlertDialogs はアクティビティ コンテキストを使用してのみ作成できるため、getApplicationContext() は機能しません。代わりに、次のグローバル変数をアクティビティ ファイルに追加します。

Context mContext;

そして、次を onCreate() に追加します。

mContext = this;

ここで、次のように変更します。

AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());

AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
于 2012-09-11T05:26:13.890 に答える
0

ダイアログを表示する前に、 Alert Dialog を作成する必要があります。

// アラート ダイアログを作成します

AlertDialog alertDialog = alert_box.create();

// それを示す

alertDialog.show();

このリンクを確認してください。

于 2012-09-11T05:19:56.943 に答える
0

これで問題が解決しますように

AlertDialog alertDialog = alertDialogBuilder.create();
于 2012-09-11T05:20:26.513 に答える
0

あなたの問題は次の行にあります

AlertDialog.Builder alert_box = new AlertDialog.Builder(activity.getApplicationContext());

使用する代わりにactivity.getApplicationContext()、ローカルに保存されたコンテキスト変数を使用する必要があります。AlertDialog.Builderの getApplicationContextが失敗します。

于 2012-09-11T05:25:55.607 に答える
0

アプリケーション コンテキストではなくアクティビティ コンテキストが必要なため、次のコードを試してください。

 AlertDialog.Builder alert_box = new AlertDialog.Builder(activity.this);
于 2012-09-11T05:55:04.200 に答える