PDA

View Full Version : درخواست راهنمایی درخصوص انتقال تصویر بین اکتیویتی



amirmalakie
جمعه 08 خرداد 1394, 16:55 عصر
سلام
من از روش xmlparse می خوام یک عکس رو از یک اکتیویتی به اکتیوتی دیگه منتقل کنم
که در یک لیست ویو هستش
هرکاری کردم خطا دادش
فایل xml , activity رو می زارم ببینید یه نظر بدید

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/title2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/thumbnail"
android:layout_toRightOf="@+id/thumbnail"
android:text="Rihanna Love the way lie"
android:textColor="#ffffffff"
android:typeface="sans"
android:textSize="50sp"
android:textStyle="bold"/>
<ImageView
android:id="@+id/list_image2"
android:layout_width="50dip"
android:layout_height="50dip"
android:src="@drawable/rihanna"/>
</LinearLayout>

package com.example.androidhive;

import java.util.ArrayList;
import java.util.HashMap;


import android.content.Intent;
import android.widget.ImageView;
import android.widget.TextView;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;


public class CustomizedListView extends Activity {
// All static variables
static final String URL = "http://api.androidhive.info/music/music.xml";
// XML node keys
static final String KEY_SONG = "song"; // parent node
static final String KEY_ID = "id";
static final String KEY_TITLE = "title";
static final String KEY_ARTIST = "artist";
static final String KEY_DURATION = "duration";
static final String KEY_THUMB_URL = "thumb_url";

ListView list;
LazyAdapter adapter;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);



ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();


XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML from URL
Document doc = parser.getDomElement(xml); // getting DOM element

NodeList nl = doc.getElementsByTagName(KEY_SONG);
// looping through all song nodes <song>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// adding each child node to HashMap key => value
map.put(KEY_ID, parser.getValue(e, KEY_ID));
map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
map.put(KEY_ARTIST, parser.getValue(e, KEY_ARTIST));
map.put(KEY_DURATION, parser.getValue(e, KEY_DURATION));
map.put(KEY_THUMB_URL, parser.getValue(e, KEY_THUMB_URL));


// adding HashList to ArrayList
songsList.add(map);
}



list=(ListView)findViewById(R.id.list);

// Getting adapter by passing xml data ArrayList
adapter=new LazyAdapter(this, songsList);
list.setAdapter(adapter);



// Click event for single list row
list.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String name = ((TextView) view.findViewById(R.id.title)).getText().toString( );
ImageView thumb = (ImageView) findViewById(R.id.list_image);
Intent in = new Intent(getApplicationContext(), NextXml.class);
in.putExtra(KEY_TITLE, name);
in.putExtra(KEY_THUMB_URL, thumb);


startActivity(in);


}
});
}
}

package com.example.androidhive;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;


/**
* Created by amirmalakie on 5/29/2015.
*/
public class NextXml extends Activity {
static final String KEY_SONG = "song"; // parent node
static final String KEY_ID = "id";
static final String KEY_TITLE = "title";
static final String KEY_ARTIST = "artist";
static final String KEY_DURATION = "duration";
static final String KEY_THUMB_URL = "thumb_url";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nextxml);
Intent in = getIntent();
String name = in.getStringExtra(KEY_TITLE);
String thumb = in.getStringExtra(KEY_THUMB_URL);
TextView lblName = (TextView) findViewById(R.id.title2);
ImageView lblpic = (ImageView) findViewById(R.id.list_image2);


lblName.setText(name);
lblpic.setImageResource(thumb);


}
}

tux-world
جمعه 08 خرداد 1394, 21:08 عصر
خطا مهمترین چیزی بود که باید میزاشتید ولی نزاشتید. کسی حوصله خوندن کد رو نداره.

pbm_soy
جمعه 08 خرداد 1394, 23:45 عصر
الگوریتم کار هم مهمه!
اینجوری که کد را گذاشتید خواندنش سخته!
الگوریتم کاری که انجام دادید را شرح میدادید و سپس خطا را هم میگفتید!

pbm_soy
شنبه 09 خرداد 1394, 00:29 صبح
خطا در اکتیویتی اول است یا دوم؟
در اکتیویتی اول قبل از اینکه مقدار thumb را به intend بدید چک کنید چه مقداری دارد؟آیا مقدار صحیح و مورد نظر شماست؟