2017-10-30 17 views
-6

[OK]ボタンを有する材料の対話のために、私はこの方法を使用する:この方法は、いくつかの一般的な方法であるクラスに現在ある別のクラスのあるクラスからメソッドを変更するにはどうすればよいですか?

public void server_alertdialog(String msg, final Context context) { 
     final MaterialDialog mMaterialDialog = new MaterialDialog(context); 
     mMaterialDialog.setMessage(msg); 
     mMaterialDialog.setCanceledOnTouchOutside(false); 
     mMaterialDialog.setPositiveButton(getResources().getString(R.string.ok), new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (isOnline()){ 
       mMaterialDialog.dismiss(); 
      }else { 
        Toast.makeText(getApplicationContext(),"You are not online",Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

     mMaterialDialog.show(); 
    } 

、のは、クラスの名前がそれぞれにcommon_methods.Butされるとしましょう"OK"ボタンをタップすると出力が異なるはずです。

mMaterialDialog.setPositiveButton(getResources().getString(R.string.ok), new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (isOnline()){ 
       mMaterialDialog.dismiss(); 
      }else { 
        Toast.makeText(getApplicationContext(),"You are not online",Toast.LENGTH_SHORT).show(); 
       } 
      } 
     }); 

し、必要に応じて他のクラスでそれを使用します。だから私は、このメソッドのクリック機能に分けたいです。どうやってやるの?

+1

のようなあなたの必要性に

をOkayAlertClick()メソッドのaccourdingを変更するかもしれないのonclick関数から特定のパラメータを持つ別のメソッドを呼び出しますか? – Lino

+0

http://idownvotedbecau.se/noresearch/ – AesSedai101

+0

[もっと速い回答を得るために、どのような状況で私の質問に「緊急」や他の類似のフレーズを追加することができますか?](// meta.stackoverflow.com/q/326569) - 要約は、これはボランティアに対処する理想的な方法ではなく、おそらく回答を得ることに非生産的であるということです。これをあなたの質問に追加しないでください。 – halfer

答えて

0
public class BaseActivity extends AppCompatActivity{ 
private ProgressDialog mProgressDialog; 
public AVLoadingIndicatorView avLoadingIndicatorView; 
private Context context; 
protected TextView[] tv; 
protected Button[] bt; 
protected RadioButton[] rt; 
public static DefaultCard defaultCard; 
public static CardsItem cardsItem; 
public static Boolean isAppLogIn = true; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    context =this; 
    Init(); 
} final MaterialStyledDialog.Builder dialogHeader_1 = new MaterialStyledDialog.Builder(context) 
      .setIcon(new IconicsDrawable(context).icon(icon).color(Color.WHITE)) 
      .withDialogAnimation(true) 
      .setTitle(title+"!") 
      .setDescription(message) 
      .setHeaderColor(color) 
      .setPositiveText("OK") 
      .onPositive(new MaterialDialog.SingleButtonCallback() { 
       @Override 
       public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {//      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + context.getPackageName()))); 
        OkayAlertClick(); 
       } 
      });//    .setNegativeText("Later"); 
    dialogHeader_1.show(); 

} 

public void OkayAlertClick() 
{ 

}} 

あなたのクラスでbaseactivityを拡張し、その

public class PayAccountSettingActivity extends BaseActivity {public void OkayAlertClick() { 
    Toast.makeText(PayAccountSettingActivity.this, "Please go to edit mode", Toast.LENGTH_SHORT).show(); 
}} 
+2

コードを正しくフォーマットしてください – Lino

+1

Javaコードスタイルでは、メソッドの名前は一般的に小文字で始まります。大文字の開始はクラス用に予約されています。 –

関連する問題