I am fetching data from URL into listview and i want whenever user will click on listview item then selected item details will be shown to user along with image and i am to send text data to another activity but not able to send image, but in singleitem activity i am getting blank space instead of image in imageview, how can i resolve this problem.Some code for reference:-
ListViewActivity Code:-
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 artist = ((TextView) view.findViewById(R.id.artist)).getText().toString();
String duration = ((TextView) view.findViewById(R.id.duration)).getText().
toString();
String image = ((ImageView)view.findViewById(R.id.list_image))
.getImageMatrix().toString();
// Starting new intent
Intent in = new Intent(getApplicationContext(), SingleMenuItemActivity.class);
in.putExtra(KEY_TITLE, title);
in.putExtra(KEY_ARTIST, artist);
in.putExtra(KEY_DURATION, duration);
in.putExtra(KEY_THUMB_URL, image);
startActivity(in);
SingleItemActivity Code:-
// getting intent data
Intent in = getIntent();
// Get XML values from previous intent
String title = in.getStringExtra(KEY_TITLE);
String artist = in.getStringExtra(KEY_ARTIST);
String duration = in.getStringExtra(KEY_DURATION);
Bitmap bitmap =(Bitmap) in.getParcelableExtra(KEY_THUMB_URL);
// 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);
ImageView image = (ImageView)findViewById(R.id.image_label);
image.setImageBitmap(bitmap);
lblName.setText(title);
lblCost.setText(artist);
lblDesc.setText(duration);
SingleItemXML Code:-
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image_label"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/rihanna"
/>
<TextView android:id="@+id/name_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25dip"
android:textStyle="bold"
android:paddingTop="10dip"
android:paddingBottom="10dip"
android:textColor="#43bd00"/>
<TextView android:id="@+id/email_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#acacac"/>
<TextView android:id="@+id/mobile_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"/>
</LinearLayout>
in.putExtra(KEY_THUMB_URL, image);
Convert the image into BASE64 String format. and in new activity convert the BASE64 String in to image again..
You should use
buildDrawingCache()
andgetDrawingCache()
to get the Bitmap from the ImageView, so in youronItemClick()
do as,For, retrieving in next Activity,