2017-07-22 18 views
-1

エラー:(90、20)エラー:互換性のない型:intが使用してエラー読み取りエラー文字列リソース

lineR.string.Invalid_city_nameで

を修正するためにどのように文字列 に変換することはできませんメソッド

getstring(R。string.Invalid_city_name) 同じエラー何が間違っていますか?

  status="success"; 
     }else{ 
      status=R.string.Invalid_city_name; 
     } 

フルコード:

package com.nbdev.app.weatherapp.json; 

import java.util.ArrayList; 
import java.util.List; 

import org.apache.http.NameValuePair; 
import org.json.JSONObject; 

import android.app.Dialog; 
import android.content.Context; 
import android.os.AsyncTask; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.LinearLayout; 
import android.widget.TextView; 
import android.widget.Toast; 

import com.nbdev.app.weatherapp.ActivityMain; 
import com.nbdev.app.weatherapp.adapter.ItemLocationAdapter; 
import com.nbdev.app.weatherapp.data.Constant; 
import com.nbdev.app.weatherapp.data.DatabaseManager; 
import com.nbdev.app.weatherapp.data.GlobalVariable; 
import com.nbdev.app.weatherapp.model.City; 
import com.nbdev.app.weatherapp.R; 
import com.nbdev.app.weatherapp.model.ForecastResponse; 
import com.nbdev.app.weatherapp.model.ItemLocation; 
import com.nbdev.app.weatherapp.model.WeatherResponse; 

public class JSONLoader extends AsyncTask<String, String, ItemLocation>{ 
    private JSONParser jsonParser = new JSONParser(); 
    private String jsonWeather = null, 
      jsonForecast= null, 
      status="null"; 

    private Context ctx; 
    private LinearLayout lyt_form; 
    private LinearLayout lyt_progress; 
    private TextView tv_message; 
    private Dialog dialog; 
    private DatabaseManager db; 
    private GlobalVariable global; 
    private ActivityMain act; 

    public JSONLoader(ActivityMain act, LinearLayout lyt_form, LinearLayout lyt_progress, TextView tv_message, Dialog dialog) { 
     this.act=act; 
     this.ctx=act.getApplicationContext(); 
     this.lyt_form=lyt_form; 
     this.lyt_progress=lyt_progress; 
     this.tv_message=tv_message; 
     this.dialog=dialog; 
     global = (GlobalVariable) act.getApplication(); 
     db = new DatabaseManager(act); 
    } 


    @Override 
    protected void onPreExecute() { 
     lyt_form.setVisibility(View.GONE); 
     lyt_progress.setVisibility(View.VISIBLE); 
     super.onPreExecute(); 
    } 

    @Override 
    protected ItemLocation doInBackground(String... params) { 
     ItemLocation itemLocation = new ItemLocation(); 

     try { 
      Thread.sleep(50); 
      List<NameValuePair> param = new ArrayList<NameValuePair>(); 
      City city = db.getWordsFormAutocomplate(params[0]); 
      if(city!=null){ 
       itemLocation.setId(city.getId()); 
       itemLocation.setName(city.getName()); 
       itemLocation.setCode(city.getCode()); 

       String url_weather  = Constant.getURLweather(city.getId()); 
       String url_forecast  = Constant.getURLforecast(city.getId()); 

       JSONObject json_weather  = jsonParser.makeHttpRequest(url_weather,"POST", param); 
       JSONObject json_forecast = jsonParser.makeHttpRequest(url_forecast,"POST", param); 

       jsonWeather  = json_weather.toString(); 
       jsonForecast = json_forecast.toString(); 

       itemLocation.setJsonWeather(jsonWeather); 
       itemLocation.setJsonForecast(jsonForecast); 

       status="success"; 
      }else{ 
       status=(R.string.Invalid_city_name(); 
      } 

     } catch (Exception e) { 
      status = e.getMessage(); 
      e.printStackTrace(); 
     } 

     return itemLocation; 
    } 

    protected void onPostExecute(ItemLocation result) { 
     lyt_form.setVisibility(View.VISIBLE); 
     lyt_progress.setVisibility(View.GONE); 
     if(status.equals("success")){ 
      global.saveLocation(result); 
      act.refreshList(); 
      dialog.dismiss(); 
     } 
     tv_message.setText(status); 
     //Toast.makeText(ctx, status, Toast.LENGTH_LONG).show(); 
    }; 

} 
+0

この変更 "status = R.string.Invalid_city_name;"これに "status = act.getString(R.string.Invalid_city_name); –

+0

https://stackoverflow.com/questions/45255170/error-reading-xml-string-in-java-file再投稿しないでください。司会者のためにフラグを付けました – Zoe

答えて

-1

あなたのリソースから文字列を取得するために、コンテキスト/動作を必要としています。

status=R.string.Invalid_city_name;

この

status=act.getString(R.string.Invalid_city_name)へ;:この

変更

+0

ありがとうございました、それは働きました –

+0

ようこそ。この答えが解答として選択されていることを確認して、この質問に答えていることを示してください。@NikolaiBuzovskiy –

関連する問題