2

Activity의 NetworkImageView에 이미지가 있습니다. 다른 NetworkImageView 또는 ImageView 조각에서 전송하는 방법.이미지 데이터를 작업에서 프레 그먼트로 전송

첫 번째 목록보기

package com.packageNmae; 

import android.app.ProgressDialog; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ListView; 
import android.widget.TextView; 

import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.VolleyLog; 
import com.android.volley.toolbox.JsonArrayRequest; 
import com.enventpc_03.nav11.adater.CustomListAdapter; 
import com.enventpc_03.nav11.app.AppController; 
import com.enventpc_03.nav11.model.Movie; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

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

public class SearchPeople extends BaseActivity { 
    // Log tag 
    private static final String TAG = SearchPeople.class.getSimpleName(); 

    // Movies json url 
    // Movies json url 
    private static String url = "myurl"; 
    private static String url1 = "my url"; 
    private static String Title = "title"; 
    private static String Location = "loc"; 
    private static String Description = "des"; 
    private static String bitmap = "thumbnailUrl"; 
    private ProgressDialog pDialog; 
    private List<Movie> movieList = new ArrayList<Movie>(); 
    private ListView listView; 
    private CustomListAdapter adapter; 
    public static final String BITMAP_ID = "id"; 

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

     listView = (ListView) findViewById(R.id.list); 
     adapter = new CustomListAdapter(this, movieList); 
     listView.setAdapter(adapter); 

     pDialog = new ProgressDialog(this); 
     // Showing progress dialog before making http request 
     pDialog.setMessage("Loading..."); 
     pDialog.show(); 

//  // changing action bar color 
//  getActionBar().setBackgroundDrawable(
//    new ColorDrawable(Color.parseColor("#1b1b1b"))); 

     // Creating volley request obj 
     JsonArrayRequest movieReq = new JsonArrayRequest(url, 
       new Response.Listener<JSONArray>() { 
        @Override 
        public void onResponse(JSONArray response) { 
         Log.d(TAG, response.toString()); 
         hidePDialog(); 

         // Parsing json 
         for (int i = 0; i < response.length(); i++) { 

          try { 
           JSONObject obj = response.getJSONObject(i); 
           Movie movie = new Movie(); 
           movie.setTitle(obj.getString("fullname")); 
           movie.setThumbnailUrl(obj.getString("image")); 
           movie.setRating(obj.getString("location")); 
           movie.setGenre(obj.getString("Description")); 

           movie.setYear(obj.getInt("id")); 

//        // Genre is json array 
//        JSONArray genreArry = obj.getJSONArray("genre"); 
//        ArrayList<String> genre = new ArrayList<String>(); 
//        for (int j = 0; j < genreArry.length(); j++) { 
//         genre.add((String) genreArry.get(j)); 
//        } 
//        movie.setGenre(genre); 

           // adding movie to movies array 
           movieList.add(movie); 

          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 

//       listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
//        @Override 
//        public void onItemClick(AdapterView<?> parent, View view, int position, 
//              long id) { 
//         Intent intent = new Intent(MainActivity.this, Details.class); 
// 
// 
//         startActivity(intent); 
//        } 
//       }); 
         } 

         // notifying list adapter about data changes 
         // so that it renders the list view with updated data 
         adapter.notifyDataSetChanged(); 
        } 
       }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       VolleyLog.d(TAG, "Error: " + error.getMessage()); 
       hidePDialog(); 

      } 
     }); 

     // Adding request to request queue 
     AppController.getInstance().addToRequestQueue(movieReq); 

     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       // your code 
       // TODO Auto-generated method stub 
       String name = ((TextView) view.findViewById(R.id.title)).getText().toString(); 
       String location = ((TextView) view.findViewById(R.id.rating)).getText().toString(); 
       String description = ((TextView) view.findViewById(R.id.genre)).getText().toString(); 

       bitmap = ((Movie) movieList.get(position)).getThumbnailUrl(); 
       Intent intent = new Intent(SearchPeople.this, Details.class); 
       intent.putExtra(Title, name); 
       intent.putExtra(Location, location); 
       intent.putExtra(Description, description); 
       intent.putExtra("images", bitmap); 


       startActivity(intent); 

      } 
     }); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     hidePDialog(); 
    } 

    private void hidePDialog() { 
     if (pDialog != null) { 
      pDialog.dismiss(); 
      pDialog = null; 
     } 
    } 

    public void onBackPressed() { 
     Intent myIntent = new Intent(SearchPeople.this, UploadActivity.class); 
     myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear back stack 
     startActivity(myIntent); 
     finish(); 
     return; 
    } 

// @Override 
// public boolean onCreateOptionsMenu(Menu menu) { 
//  // Inflate the menu; this adds items to the action bar if it is present. 
//  getMenuInflater().inflate(R.menu.main, menu); 
//  return true; 
// } 


// 
// @Override 
// public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
// 
//  Intent intent = new Intent(this, Details.class); 
//  intent.putExtra(BITMAP_ID,position); 
//  startActivity(intent); 
// 
// } 
} 

전체 이미지보기 클래스

import android.app.FragmentManager; 
import android.app.FragmentTransaction; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.TextView; 

import com.android.volley.toolbox.ImageLoader; 
import com.android.volley.toolbox.NetworkImageView; 
import com.enventpc_03.nav11.app.AppController; 
import com.enventpc_03.nav11.model.Movie; 

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

public class Details extends BaseActivity { 
    private static String Title = "title"; 
    private static String Location = "loc"; 
    private static String Description = "des"; 
    ImageButton fb,google,twitter; 
    boolean isImageFitToScreen; 
    private static String bitmap = "thumbnailUrl"; 
    private List<Movie> movieList = new ArrayList<Movie>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_details); 
     // getActionBar().hide(); 


     //Passing url 
     MyFragment f = new MyFragment(); 
     Bundle b = new Bundle(); 
     bitmap = ((Movie) movieList.get(position)).getThumbnailUrl(); 
     b.putString("images", bitmap); 
     f.setArguments(b); 


     Intent i = getIntent(); 
     ImageLoader imageLoader = AppController.getInstance().getImageLoader(); 
     String name = i.getStringExtra(Title); 
     String location1 = i.getStringExtra(Location); 
     String description1 = i.getStringExtra(Description); 
     String bitmap = i.getStringExtra("images"); 
     final NetworkImageView thumbNail = (NetworkImageView) findViewById(R.id.thumbnail); 
     thumbNail.setImageUrl(bitmap, imageLoader); 
     TextView lblname = (TextView) findViewById(R.id.name_label); 
     TextView location = (TextView) findViewById(R.id.each_location); 
     TextView description = (TextView) findViewById(R.id.each_comment); 

     lblname.setText(name); 
     location.setText(location1); 
     description.setText(description1); 

     fb=(ImageButton)findViewById(R.id.fb); 
     fb.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 

       Intent browserIntent = 
         new Intent(Intent.ACTION_VIEW, Uri.parse("Facebook")); 
       startActivity(browserIntent); 

      } 

     }); 

     thumbNail.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       FragmentManager fragmentManager = getFragmentManager(); 
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
       MyFragment yourFragment= new MyFragment(); 
       fragmentTransaction.add(R.id.myfragment, yourFragment, "FRAGMENT"); 
       fragmentTransaction.commit(); 
      } 
     }); 

    } 



    public void onClickHandler(View v) { 
     switch (v.getId()) { 
      case R.id.thumbnail: 
       startActivity(new Intent(this, UploadActivity.class)); 
     } 
    } 

    public void onBackPressed() { 
     Intent myIntent = new Intent(Details.this, SearchPeople.class); 
     myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear back stack 
     startActivity(myIntent); 
     finish(); 
     return; 
    } 

조각

공용 클래스 MyFragment이 조각을 확장 {

private static String bitmap = "thumbnailUrl"; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View myFragmentView = inflater.inflate(R.layout.fragment_full, container, false); 

    Bundle bundle = this.getArguments(); 
    String page = bundle.getString("images", bitmap); 

    ImageLoader imageLoader = AppController.getInstance().getImageLoader(); 
    final NetworkImageView thumbNail = (NetworkImageView)myFragmentView.findViewById(R.id.thumbnail); 
    thumbNail.setImageUrl(page, imageLoader); 
return myFragmentView; 
    } 

} 

** 참고 :에 ** 목록보기 전체 etail 이미지 detailsply에서 내 Frament를 얻지 못했습니다. Activity

+0

라이브러리를 사용하고 있습니까? –

+0

예 발리 도서관 .. –

+0

문제를 해결 했습니까? –

답변