私は、次のUtilsのクラスを持っていると私はこのようなcatchブロックで私のユーザーに優しいトーストを書きたい:Utilクラスの静的メソッドでトーストを表示するには?
catch (JSONException e){
Log.e(LOG_TAG, "String to JSON failed: " + e);
showToast(getActivity, "Test toast");
}
しかし、問題は、私は自分の活動やアプリケーションコンテキストを得るのですかですか? 私はこれを試しましたhttps://stackoverflow.com/a/23423970私のコンテキストを取得する場所がわからないので、それは私のために動作しません? Utilクラスのコンストラクタを作成しなければならない場合、このクラスをインスタンス化したくないのでUtilクラスの目的を無効にします。
はここに私のクラスです:
public class Utils {
public static boolean showPercent = true;
public static ArrayList quoteJsonToContentVals(String JSON){
ArrayList<ContentProviderOperation> batchOperations = new ArrayList<>();
JSONObject jsonObject = null;
JSONArray resultsArray = null;
try{
jsonObject = new JSONObject(JSON);
if (jsonObject != null && jsonObject.length() != 0){
jsonObject = jsonObject.getJSONObject("query");
int count = Integer.parseInt(jsonObject.getString("count"));
if (count == 1){
jsonObject = jsonObject.getJSONObject("results")
.getJSONObject("quote");
batchOperations.add(buildBatchOperation(jsonObject));
} else{
resultsArray = jsonObject.getJSONObject("results").getJSONArray("quote");
if (resultsArray != null && resultsArray.length() != 0){
for (int i = 0; i < resultsArray.length(); i++){
jsonObject = resultsArray.getJSONObject(i);
batchOperations.add(buildBatchOperation(jsonObject));
}
}
}
}
} catch (JSONException e){
Log.e(LOG_TAG, "String to JSON failed: " + e);
showToast(getActivity, "Test toast");
}
return batchOperations;
}
public static void showToast(Context context, String text) {
Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}
.....
'Toast'を表示するには、有効なコンテキストが必要です。 –