1

私は問題に直面しています。listactivity を拡張するクラスがあり、そのコードは次のようになります。

public class QuestionListActivity extends ListActivity
{
//Members

private ImageButton bntRefresh;
private ImageButton bntSettings;
private ImageButton bntGetSurveys;


 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.surveylist);

    initialize();

    currentSurveys=new SurveyList();
 }

private void initialize()
{
    bntRefresh= (ImageButton) findViewById(R.id.ibtnRefresh);
    bntRefresh.setImageResource(R.drawable.refresh);
    bntRefresh.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        Toast.makeText(SurveyListActivity.this, "This will refresh the survey list.", Toast.LENGTH_SHORT).show();   
        }
    });



    bntSettings= (ImageButton) findViewById(R.id.ibtnSettings);
    bntSettings.setImageResource(R.drawable.settings);
    bntSettings.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(SurveyListActivity.this, "This will open the settings.", Toast.LENGTH_SHORT).show(); 
        }
    });

    bntGetSurveys= (ImageButton) findViewById(R.id.ibtnGetSurveys);
    bntGetSurveys.setImageResource(R.drawable.getsurvey);
    bntGetSurveys.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) 
        {
            AlertDialog getSurveyAlert = new AlertDialog.Builder(QuestionListActivity .this).create();
            getSurveyAlert.setTitle("Enter QR Code");
            getSurveyAlert.setMessage("Choose a source");
            getSurveyAlert.setButton("Camera", new DialogInterface.OnClickListener() {

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

                }
            });
            getSurveyAlert.setButton2("text", new DialogInterface.OnClickListener() {

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

                }
            });
        }
    });
}

    class SurveyAdapter extends ArrayAdapter<Survey>
    {
      //-- code here for adapter
    }
}

私の初期化関数では、3 つのイメージボタンがあり、それらの onClicklisteners を実装していることがわかります。設定と更新ボタンについては、トーストを表示しましたが、正常に動作しています。Get ボタンについては、ユーザーに何かを行うように求めるダイアログ ボックスを表示しましたが、私が直面している問題は、ダイアログ ボックスが表示されず、理由がわからないことです。

4

3 に答える 3

2

行を書くのを忘れた

getSurveyAlert.show();

これを試して、

bntGetSurveys.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) 
        {
            AlertDialog getSurveyAlert = new AlertDialog.Builder(QuestionListActivity .this).create();
            getSurveyAlert.setTitle("Enter QR Code");
            getSurveyAlert.setMessage("Choose a source");
            getSurveyAlert.setButton("Camera", new DialogInterface.OnClickListener() {

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

                }
            });
            getSurveyAlert.setButton2("text", new DialogInterface.OnClickListener() {

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

                }
            });
        getSurveyAlert.create().show();
}
于 2012-07-05T07:27:23.483 に答える
1

AlertDialog getSurveyAlert = new AlertDialog.Builder(QuestionListActivity.this).create(); //これの代わりにこの行を使用します

AlertDialog getSurveyAlert = new AlertDialog.Builder(QuestionListActivity .this).show();

于 2012-07-05T07:36:46.577 に答える
1

show() メソッドを呼び出す

@Override
        public void onClick(View v) 
        {
            AlertDialog getSurveyAlert = new AlertDialog.Builder(QuestionListActivity .this).create();
            getSurveyAlert.setTitle("Enter QR Code");
            getSurveyAlert.setMessage("Choose a source");
            getSurveyAlert.setButton("Camera", new DialogInterface.OnClickListener() {

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

                }
            });
            getSurveyAlert.setButton2("text", new DialogInterface.OnClickListener() {

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

                }
            });
getSurveyAlert.create().show();
        }
    });
于 2012-07-05T07:27:39.427 に答える