Load image from listview to next Activity

不想你离开。 提交于 2019-12-23 10:14:37

问题


I am using Listview to display image and data using json parser,

But when i click on one of the list item image is not displaying in next activity i.e in detailed Activity.

I am using the following code to display image. Can any one guide me in right path? Any help wud 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);

回答1:


Thank you All for your help and support, Just Add the below code in 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);
        }



回答2:


Not sure where you want to get the url from, but this can't be helping:-

String url = null;




回答3:


First of try to intialize the url here

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

Because of this null value you are not getting any thing in your next activity




回答4:


I may not sure, change into BitMap and pass tat BitMap value into another activity




回答5:


Here you can use this follwing code for load image from listview to next Activity:

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 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 you



来源:https://stackoverflow.com/questions/14477809/load-image-from-listview-to-next-activity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!