0

私はここを見て、私の問題を解決しようとしました。似ていますが、フラグメントを使用しているため、コンテキストが必要な場合は通常 getActivity() を呼び出す必要があります。

基本的に、上記のリンクで説明されているように App.java があります。

android:name=".App" inside my <application> tag

私の AndroidManifest.xml に追加されました。これで、頻繁に使用するすべてのものを収集するために使用するこのクラスがあります。

public class MiscMethods{
public static void ErrorToast(int errorCode) {
    String errorString = null;
    if(errorCode==1){ errorString = App.getContext().getString(R.string.error_tooManyFieldsEmpty);}
    if(errorCode==2){ errorString = App.getContext().getString(R.string.error_featureComingSoon);}
    if(errorCode==3){ errorString = App.getContext().getString(R.string.error_SwitchBreak);}
    else{errorString="Wrong Error Code";}
    Toast errormsg = Toast.makeText(App.getContext(), errorString, Toast.LENGTH_SHORT);
    errormsg.setGravity(Gravity.CENTER, 0, 0);
    errormsg.show();
}
}

私のフラグメントの1つで、私は呼び出します

MiscMethods.ErrorToast(1);

メソッドの「else {}」部分から「間違ったエラー コード」メッセージが表示されます

これを正しくするのを手伝ってもらえますか?

4

2 に答える 2

1

フォーマットを改善すると、問題が見つけやすくなります。

public static void ErrorToast(int errorCode) {
    String errorString = null;
    if (errorCode == 1) {
        errorString = App.getContext().getString(R.string.error_tooManyFieldsEmpty);
    }
    if (errorCode == 2) {
        errorString = App.getContext().getString(R.string.error_featureComingSoon);
    }
    if (errorCode == 3) {
        errorString = App.getContext().getString(R.string.error_SwitchBreak);
    } else {
        errorString = "Wrong Error Code";
    }
    Toast errormsg = Toast.makeText(App.getContext(), errorString, Toast.LENGTH_SHORT);
    errormsg.setGravity(Gravity.CENTER, 0, 0);
    errormsg.show();
}

ご覧のとおり、動作するif (errorCode == 1)はずif (errorCode == 3)ですが、この場合は false になるためオーバーライドされ、else はerrorString変数をオーバーライドします。

Aswitch(errorCode)と3つのケースはあなたが探しているものです。

最後のヒント: フォーマットを改善してください!

于 2012-10-02T21:49:55.177 に答える