2016-12-31 47 views
0

有JSON对象的那个值从标签组合像<img><src><p>等 要采取的价值,并把在文本视图与Html.from()方式。得到JSON对象与Html.from不工作

这个我尝试迄今:

public class MainActivity extends AppCompatActivity { 

    ProgressDialog pDialog; 
    public String html; 
    public String sag; 

    private final String url = "http://memaraneha.ir/%db%8c%da%a9%d9%be%d8%a7%d8%b1%da%86%da%af%db%8c-%d9%87%d9%85%d8%a7%d9%87%d9%86%da%af%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%af%d8%a7%d8%ae%d9%84%db%8c"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 



     TextView htmlTextView = (TextView)findViewById(R.id.html_text); 


     htmlTextView.setText(Html.fromHtml(sag, null, null)); 

     new GetContacts().execute(); 

    } 
    public class GetContacts extends AsyncTask<Void, Void, Void> { 

     private String TAG = "erfan"; 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      // Showing progress dialog 
      pDialog = new ProgressDialog(MainActivity.this); 
      pDialog.setMessage("Please wait..."); 
      pDialog.setCancelable(false); 
      pDialog.show(); 
     } 

     @Override 
     protected Void doInBackground(Void... arg0) { 

      HttpHandler sh = new HttpHandler(); 


      // Making a request to url and getting response 
      String jsonStr = sh.makeServiceCall(url); 


      Log.e(TAG, "Response from url: " + jsonStr); 

      if (jsonStr != null) { 
       try { 

        JSONObject jsonObj = new JSONObject(jsonStr); 


        JSONObject c = jsonObj.getJSONObject("posts"); 


        html = String.valueOf(c.getJSONObject("content")); 


       } catch (final JSONException e) { 
        Log.e(TAG, "Json parsing error: " + e.getMessage()); 
        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          Toast.makeText(getApplicationContext(), 
            "Json parsing error: " + e.getMessage(), 
            Toast.LENGTH_LONG) 
            .show(); 
         } 
        }); 
       } 
      } else { 
       Log.e(TAG, "Couldn't get json from server."); 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         Toast.makeText(getApplicationContext(), 
           "Couldn't get json from server. Check LogCat for possible errors!", 
           Toast.LENGTH_LONG) 
           .show(); 
        } 
       }); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void result) { 
      super.onPostExecute(result); 
      pDialog.dismiss(); 
      sag=html; 
     } 

    } 
} 

但是从该行获得零例外:

htmlTextView.setText(Html.fromHtml(sag, null, null)); 

如果任何人能请帮助

回答

0

终于解决我的问题改变这条线在做backgorund html = String.valueOf(c.getJSONObject("content"));html= c.getString("content");

1

你有因为“空指针下垂“值设置为文本视图 你可以简单地让你的textView全球

public TextView htmlTextView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 



    TextView htmlTextView = (TextView)findViewById(R.id.html_text); 


    new GetContacts().execute(); 

} 

    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     pDialog.dismiss(); 
     htmlTextView.setText(Html.from(html,arg,arg)); 
    }