2017-02-22 16 views
1

У меня есть ListView. и когда я нажимаю на один элемент ListView, я вызываю операцию, чтобы показать единственный элемент View. Данные TextView обрабатываются. но когда я пытаюсь вызвать изображение из parse, его не загружают (изображение размещается в отдельном месте в Интернете). если кто-нибудь может рассказать, как загрузить изображение здесь?ANDROID: Получение изображения из синтаксического анализа в андроидную активность

мой файл URL

url = new URL("file location " + statusObject.getString("image")); 

отредактированный код

URL url = null; 
        try { 
         url = new URL("https://www.gravatar.com/avatar/db5bfe41c9d21d3a5b4e5b5f6a2d776d?s=32&d=identicon&r=PG&f=1"); 
        } catch (MalformedURLException e1) { 
         e1.printStackTrace(); 
        } 
        Bitmap bmp = null; 
        try { 
         bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
        txtv2.setImageBitmap(bmp); 

////////////////

одиночный вид вещь

import android.content.*; 
import android.net.*; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.util.*; 
import android.view.View; 
import android.widget.*; 

import com.parse.*; 
import com.parse.ParseException; 

public class SingleItemView extends AppCompatActivity { 

    String objectId; 
    protected TextView txtv; 
    protected TextView txtv1; 
    protected ImageView txtv2; 

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


     txtv =(TextView)findViewById(R.id.txt123); 
     txtv1 =(TextView)findViewById(R.id.txt1234); 
     txtv2 =(ImageView)findViewById(R.id.txt12345); 
     Intent i =getIntent(); 

     objectId = i.getStringExtra("objectId"); 

     ParseQuery<ParseObject> query = ParseQuery.getQuery("_User"); 
     query.getInBackground(objectId, new GetCallback<ParseObject>() { 
      public void done(ParseObject object, ParseException e) { 
       if (e == null) { 

        String username = object.getString("firstname"); 
        txtv.setText(username); 
        String position = object.getString("position"); 
        txtv1.setText(position); 
        String img_ = object.getString("image"); 
        txtv2.setImageURI(Uri.parse(img_)); 

       } else { 
        // something went wrong 
       } 
      } 
     }); 



    } 

} 

фрагмент файла

import android.content.*; 
import android.os.Bundle; 
import android.support.v4.app.*; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.*; 

import com.parse.FindCallback; 
import com.parse.ParseException; 
import com.parse.ParseObject; 
import com.parse.ParseQuery; 
import java.util.ArrayList; 
import java.util.List; 

public class Individuals extends android.support.v4.app.ListFragment 
     implements FindCallback<ParseObject> { 

    private List<ParseObject> mOrganization = new ArrayList<ParseObject>(); 
    SearchView sv; 
    IndividualsAdaptor adaptor; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.individuals, container, false); 
    } 
    @Override 
    public void onViewCreated(View view, Bundle b) { 
     super.onViewCreated(view, b); 
     sv = (SearchView) view.findViewById(R.id.ser1); 
     adaptor = new IndividualsAdaptor(getActivity(), mOrganization); 
     setListAdapter(adaptor); 
     ParseQuery.getQuery("_User").findInBackground(this); 

     sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String text) { 
       return false; 
      } 
      @Override 
      public boolean onQueryTextChange(String text) { 
       adaptor.getFilter().filter(text); 
       return true; 
      } 
     }); 
    } 
    @Override 
    public void done(List<ParseObject> scoreList, ParseException e) { 
     if (e == null) { 
      Log.d("score", "Retrieved " + scoreList.size() + " _User"); 
      mOrganization.clear(); 
      mOrganization.addAll(scoreList); 
      ((IndividualsAdaptor) getListAdapter()).updateBackupList(mOrganization); 
      ((IndividualsAdaptor) getListAdapter()).notifyDataSetChanged(); 
     } else { 
      Log.d("score", "Error: " + e.getMessage()); 
     } 
    } 

    @Override 
    public void onListItemClick(android.widget.ListView l, android.view.View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 

     ParseObject prs = mOrganization.get(position); 
     String objectId = prs.getObjectId(); 
     Intent i = new Intent(getActivity(), SingleItemView.class); 
     i.putExtra("objectId", objectId); 
     startActivity(i); 

    } 
} 
+0

Есть у получения URL при извлечении данных с помощью объекта синтаксического анализа – Athul

+0

проверки этого ответа http://stackoverflow.com/a/27793603/3310181 – param

ответ

1

наконец этот код работает после редактирования некоторых кодов образуют ссылку в ответ. по этому коду вы можете вызвать изображения динамически для каждого из ID объекта.

URL url = null; 
         try { 
          url = new URL("image url" + object.getString("image")); 
         } catch (MalformedURLException e1) { 
          e1.printStackTrace(); 
         } 
         Bitmap bmp = null; 
         try { 
          bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 
         } catch (IOException e1) { 
          e1.printStackTrace(); 
         } 
         txtv2.setImageBitmap(bmp); 

         // something went wrong 
1

Определение <uses-permission android:name="android.permission.INTERNET" /> в Manifest.xml.

Затем используйте Picasso или Gilde и анализировать изображения из их соответствующих случаев и передать URL изображений, что вы запрашиваете из анализа. Эти библиотеки будут анализировать URL и возвращать изображение в ImageView.

Другие подобные вопросы: Load image from url

How to load an ImageView by URL in Android?

+0

вашей первой ссылка работает после некоторых правок .. но только для образ заполнителя вы можете рассказать, как лаять динамическое изображение проверить мой вопрос, я обновил @Sneh Pandya –