0

アプリケーションに一連のアクティビティがあり、ほとんどのアクティビティに共通のイメージがあります。画像をクリックすると、ダイアログボックスが開き、別のアクティビティに切り替えるなどのタスクが実行されます。これは、すべてのアクティビティで同じです。しかし、それはいくつかのエラーを示しています。これを解決するのを手伝ってください

アクティビティの onclick イベントは次のとおりです。

ImageView imgMenu = (ImageView) findViewById(R.id.imgMenu);
    imgMenu.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
         Intent intent = FeatureMenu.ShowMenu(getApplicationContext());
            if (intent != null) {
                startActivity(intent);
            }
        }
    });

そして、これは一般的な機能を処理するための静的クラスです:

public class FeatureMenu {
public static Intent intent;
public static Intent ShowMenu(final Context mcontext) {

    Dialog d = new Dialog(mcontext);
    d.requestWindowFeature(Window.FEATURE_NO_TITLE);
    d.setContentView(R.layout.menu_layout);
    ImageView abc = (ImageView) d
            .findViewById(R.id.abc);
    abc.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
             intent=new Intent(mcontext,
                    xyz.class);

        }
    });
    d.show();
    return intent;

}
}
4

2 に答える 2

0

AsyncTask を使用してみると、onpreexecute() メソッドでダイアログ ボックスを開始してコンテキストを渡し、doinbackgroung() メソッドで独自のコードを実行してから、onpostexecute() メソッドでダイアログ ボックスを閉じることができます。

この投稿を試してください: AsyncTask の progressDialog

于 2013-09-15T08:15:52.653 に答える