Loading an image from the list into the next activity

I use Listviewto display image and data using json parser,

But when I click on one of the elements of the list, the image is not displayed in the next action, that is, in the detailed action.

I use the following code to display an image. Can someone lead me on the right path? Any help would be appreciated.

// Launching new screen on Selecting Single ListItem
    list.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            // getting values from selected ListItem
            String title = ((TextView) view.findViewById(R.id.title)).getText().toString();
            String date = ((TextView) view.findViewById(R.id.date)).getText().toString();
            String name = ((TextView) view.findViewById(R.id.name)).getText().toString();
            String content = ((TextView) view.findViewById(R.id.content)).getText().toString();
             // getting JSON string from URL
            JSONObject json = jParser.getJSONFromUrl(URL);
             try {
                 posts = json.getJSONArray(KEY_POSTS);

    // looping through all song nodes <song>
            for(int i = 0; i < posts.length(); i++){
                JSONObject c = posts.getJSONObject(i);
                // Storing each json item in variable

                String url = null;
                String slug = null;
                try {
                JSONArray atta = c.getJSONArray("attachments");
                for(int j = 0; j < atta.length(); j++){
                    JSONObject d = atta.getJSONObject(j);

                    slug = d.getString(KEY_SLUG);

                    JSONObject images = d.getJSONObject(KEY_IMAGES);

                    JSONObject thumbnail = images.getJSONObject(KEY_THUMB_URL);
                    url = thumbnail.getString(KEY_URL);

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

                }



            // Starting new intent
            Intent in = new Intent(getApplicationContext(),SampleDesp.class);
            in.putExtra(KEY_TITLE, title);
            in.putExtra(KEY_DATE, date);
            in.putExtra(KEY_NAME, name);
            in.putExtra(KEY_CONTENT, content);
            in.putExtra(KEY_URL, url);      
            startActivity(in);

        }


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

                    }
        }

    });   

}

}

And in Singlemenuitem.java

 // getting intent data
        Intent in = getIntent();
        final String url1 = in.getStringExtra(KEY_URL);

        ImageView imgv = (ImageView) findViewById(R.id.imgdesc);
        ImageLoader imageLoader = new ImageLoader(getApplicationContext());
        imageLoader.DisplayImage(url1, imgv);





        // Get JSON values from previous intent
        final String title = in.getStringExtra(TAG_TITLE);
        String date = in.getStringExtra(TAG_DATE);
        String name = in.getStringExtra(TAG_NAME);
        final String content = in.getStringExtra(TAG_CONTENT);

        // Displaying all values on the screen
        TextView lblName = (TextView) findViewById(R.id.name_label);
        TextView lblCost = (TextView) findViewById(R.id.email_label);
        TextView lblDesc = (TextView) findViewById(R.id.mobile_label);
        TextView lblCont = (TextView) findViewById(R.id.content_label);

        lblName.setText(title);
        lblCost.setText(date);
        lblDesc.setText(name);
        lblCont.setText(content);
+5
source share
5 answers

Thank you all for your help and support, just add the code below to the MainActivity class

    // Launching new screen on Selecting Single ListItem
    list.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            HashMap<String, String> map = songsList.get(position);

            Intent in = new Intent(MainActivity.this, SampleDesp.class);
            in.putExtra(KEY_TITLE, map.get(KEY_TITLE));
            in.putExtra(KEY_DATE, map.get(KEY_DATE));                         
            in.putExtra(KEY_NAME, map.get(KEY_NAME));
            in.putExtra(KEY_CONTENT, map.get(KEY_CONTENT));
            in.putExtra(KEY_URL, map.get(KEY_URL));

            startActivity(in);
        }
+1
source

Not sure where you want the url from, but this can't help: -

String url = null;

0
source

URL-.

 String url = null;// here
  in.putExtra(KEY_URL, url);  

Because of this null value, you are not getting anything in your next action

0
source

I'm not sure, I will go to BitMap and pass the BitMap bit value to another action

0
source

Here you can use this code to load an image from a list into the following operation:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    Intent intent = new Intent(getApplicationContext(), DetailActivity.class);8
                    String pic =array.get(position).getImage();
                    intent.putExtra("Photo", pic);

                    startActivity(intent);
                }

            });

Here's the DetailActivity.java class:

public class DetailActivity extends AppCompatActivity {

    ImageLoader imageLoader=AppController.getmInstance().getmImageLoader();

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

        NetworkImageView imageView= (NetworkImageView) findViewById(R.id.image_view_detail);
        imageView.setImageUrl(getIntent().getExtras().getString("Photo"),imageLoader);
    }
}

thank

0
source

All Articles