2017-03-21 2 views
-3
import android.os.AsyncTask; 

import android.support.v7.app.AppCompatActivity; 

import android.os.Bundle; 

import android.view.View; 

import android.widget.Button; 

import android.widget.TextView; 

import java.io.BufferedReader; 

import java.io.IOException; 

import java.io.InputStream; 

import java.io.InputStreamReader; 

import java.net.HttpURLConnection; 

import java.net.MalformedURLException; 

import java.net.URL; 

import java .lang.String; 


import static android.support.v7.appcompat.R.id.text; 


public class MainActivity extends AppCompatActivity { 

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

     TextView text = (TextView) findViewById(R.id.tv); 
     Button btn = (Button) findViewById(R.id.btn_hit); 

     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       new Jsontask().execute("https://jsonparsingdemo-cec5b.firebaseapp.com/jsonData/moviesDemoItem.txt"); 
      } 
     }); 
    } 
     public class Jsontask extends AsyncTask<String,String,String>{ 
      @Override 
      protected String doInBackground(String... params) { 
       HttpURLConnection http=null; 
       BufferedReader reader = null; 

       try { 
        URL url=new URL(params[0]); 
        http=(HttpURLConnection)url.openConnection(); 
        http.connect(); 
        InputStream inp=http.getInputStream(); 
        reader=new BufferedReader(new InputStreamReader(inp)); 


        String line=" "; 
        StringBuffer read=new StringBuffer(); 
        while((line=reader.readLine())!=null) 
         read.append(line); 
        return reader.toString(); 

       } catch(MalformedURLException e1){ 
        e1.printStackTrace(); 



       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       finally { 
        if (http != null) 

         http.disconnect(); 
        try { 
         if(reader!=null) 
          reader.close(); 
        } catch (IOException e) { 
         e.printStackTrace(); 
        } 
       } 

      return null; 
      } 

      @Override 
      protected void onPostExecute(String result){ 
       super.onPostExecute(result); 
       text.setText(result); 
      } 
     } 
     } 
+1

In dem Leitungsfehler kommt, was ist die Botschaft, die Sie bekommen finden Ihr logcat. – Shekhar

+2

Fügen Sie Ihr Fehlerprotokoll hinzu und fügen Sie einige nützliche Details hinzu, die beschreiben, was der Fehler ist, damit die Leute Ihre Frage vollständig verstehen, andernfalls wird Ihre Frage abgelehnt und/oder als unklar geschlossen! –

+0

mein Fehler ist setText() java.lang.String ist auch enthalten, aber selbst dann gibt es nicht geben kann. –

Antwort

0

denke ich, das Problem mit dieser Linie ist:

import static android.support.v7.appcompat.R.id.text; 

und wenn Sie setzen Text hier:

text.setText(result); 

Dieser Text nicht genannt wird zu TextView text.So, überprüfen Sie bitte dieses Ding einmal, wenn es sich richtig darauf bezieht.

0
TextView text = (TextView) findViewById(R.id.tv); 

„text“ ist lokale Variable so AsyncTask es nicht

Bitte definieren sie in an der Außenseite von onCreate()