0

(画像といくつかのテキストフィールドをweburl使用xmlparsingして)データを取得するアプリを作成し、値を別のアクティビティに表示するためのコードを作成しましたが、あるアクティビティから別のアクティビティに画像を送信することはできませんが、アイテムを使用してテキストデータを送信します。listviewonItemClicklistview

誰かが私を案内してコードを書くことができますか?

これが私のコードの一部です:

MainActivity コード:

        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();
            //byte[] array=null;
            //Bitmap bMap = BitmapFactory.decodeByteArray
                     //  (array, 0, array.length);


            // 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);

        }
    });     
 }  
     }

    SingleMenuItemActivity Code:-

    public class SingleMenuItemActivity  extends Activity {

// XML node keys
private static final String KEY_TITLE = "title";
private static final String KEY_ARTIST = "artist";
private static final String KEY_DURATION = "duration";
private static final String KEY_THUMB_URL = "thumb_url";
@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.single_list_item);

    // 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);
    String image = in.getStringExtra(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 lblImage = (ImageView) findViewById(R.id.image_label);   


    lblName.setText(title);
    lblCost.setText(artist);
    lblDesc.setText(duration);
        //Getting error in below line
        //the method setImageResource(int) is the type 
        //Image View is not applicable for the argument(string)
    lblImage.setImageResource(image);//(R.drawable.rihanna);

    }

}
4

3 に答える 3

0

画像を渡す必要はありませんBundle。代わりに、を渡しimage path as String dataます。各アクティビティで、画像が必要な場所で、その画像パスから画像を作成します。

于 2012-09-25T09:24:45.250 に答える
0

この画像をビットマップに変換し、Intent.putExtra() を使用してバンドルとして次のアクティビティに渡します。

于 2012-09-25T09:24:30.590 に答える
0
 in.putExtra(KEY_IMAGE, image);

ここで、画像はバイト[] ..任意の画像をバイト配列に変換できます..取得中

Bitmap bMap = BitmapFactory.decodeByteArray(array, 0, array.length);

`

于 2012-09-25T09:26:47.163 に答える