2016-07-31 4 views
0

Snackbarを使用しようとしましたが、ビューが必要です。メインレイアウトをビューオブジェクトとして定義しました。 Jsonの応答が完了したときに使用されます。 しかし、私はスナックバーのポップアップが表示されませんか? これを処理する方法はありますか? 以下は、JSONレスポンスを解析するときの処理方法です。あなたはまだ問題がある場合Jsonレスポンス後のSnackbarの使い方は?

public CityWeather parseJSONResponse(JSONObject response){ 
    cityWeather=new CityWeather(); 

    Log.d(LOG_TAG,"parse1"); 

    JSONObject resp= response; 
    JSONObject detailJo; 
    JSONObject cityJo; 
    JSONObject aqiJo; 
    String aqi; 
    String city; 
    String nowtemp; 
    String condcd; 
    String pm25; 
    try { 
     Log.d(LOG_TAG,"start parse"); 
     //Log.d(LOG_TAG,resp.toString()); 
     JSONArray weatherarrary = resp.getJSONArray(KEY_API); 

     Log.d(LOG_TAG,"start parse2"); 

     //get Details 
     detailJo=weatherarrary.getJSONObject(0); 

     Log.d(LOG_TAG,"start parse3"); 

     //getAQI 
     //Log.d(LOG_TAG,detailJo.toString()); 
     cityJo=detailJo.getJSONObject(KEY_AQI); 

     Log.d(LOG_TAG,"after send json true"); 

     //when city not found 
     if (cityJo==null){ 

      Log.d(LOG_TAG,"parse fail"); 
      return cityWeather; 
     } 

     aqiJo=cityJo.getJSONObject(KEY_CITY); 
     Log.d(LOG_TAG,aqiJo.toString()); 

     aqi=aqiJo.getString(KEY_AQI); 
     pm25=aqiJo.getString(KEY_PM25); 

     Log.d(LOG_TAG,"parse succss1"+aqi+" "+pm25); 

     //get City 
     cityJo=detailJo.getJSONObject(KEY_BASIC); 
     city=cityJo.getString(KEY_CITY); 

     Snackbar.make(mainview,city+"添加成功",Snackbar.LENGTH_SHORT); 

     //get now temp 
     cityJo=detailJo.getJSONObject(KEY_NOW); 
     nowtemp=cityJo.getString(KEY_TMP); 
     Log.d(LOG_TAG,"parse succss2"+city+" "+nowtemp); 
     // 
     cityJo=cityJo.getJSONObject(KEY_COND); 
     condcd=cityJo.getString(KEY_CODE); 
     Log.d(LOG_TAG,"parse succss3"+condcd); 
     cityWeather=new CityWeather(city,aqi,pm25,Integer.parseInt(nowtemp),Integer.parseInt(condcd)); 

    }catch (JSONException je){ 
     Log.d(LOG_TAG,"JSONexp"+je.toString()); 
    } 

    Log.d(LOG_TAG,"parse succss4"); 
    return cityWeather; 
} 
+0

Snackbar.make(MAINVIEW、都市+ "added成功"、Snackbar.LENGTH_SHORT).show(); – W0rmH0le

+0

Snackbar.make()の最後に.show()がありません。show(); – W0rmH0le

答えて

0

あなたは、変更後Snackbar

show()経由でチェックを表示していません。

Snackbar.make(mainview,city+"添加成功",Snackbar.LENGTH_SHORT); 

へ:

Snackbar.make(mainview,city+"添加成功",Snackbar.LENGTH_SHORT).show(); 
+0

ありがとう、それは動作します! –

関連する問題