0
        Integer[] leftItems = new Integer[]{R.drawable.ic_1, R.drawable.ic_2, R.drawable.ic_3, R.drawable.ic_4, R.drawable.ic_5};
        Integer[] rightItems = new Integer[]{R.drawable.ic_6, R.drawable.ic_7, R.drawable.ic_8, R.drawable.ic_9, R.drawable.ic_10};

        leftAdapter = new ItemsAdapter(this, R.layout.item, leftItems);
        rightAdapter = new ItemsAdapter(this, R.layout.item, rightItems);
        listViewLeft.setAdapter(leftAdapter);
        listViewRight.setAdapter(rightAdapter);

        leftViewsHeights = new int[leftItems.length];
        rightViewsHeights = new int[rightItems.length];

leftlist ビューの onclick の場合、以下のコードを使用しています

listViewLeft.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {

            // TODO Auto-generated method stub
            Integer name = (Integer) arg0.getItemAtPosition(arg2);
            Intent Courses = new Intent(ItemsActivity.this, ViewMyImage.class);
            Courses.putExtra("position",arg2);
            Courses.putExtra("name",name.toString());
            startActivity(Courses);

        }

    });

ViewMyImage.java では、このコードを使用して値を取得しています

int value = getIntent().getExtras().getInt("position");
        String name = getIntent().getExtras().getString("name");
        Toast.makeText(getApplicationContext(), name,Toast.LENGTH_LONG).show();

画像をもう一度表示できる画像ic_Xの値が必要です。

4

1 に答える 1

1

getResources().getIdentifier次のように文字列名からドローアブルを見つけるために使用してみてください:

int value = getIntent().getExtras().getInt("position");
int drawableid = getResources().getIdentifier("ic_"+value , 
                                                 "drawable", getPackageName());
Drawable drawableimg = getResources().getDrawable(drawableid);

を使用drawableimgしてImageViewの背景画像を設定するために使用するようになりましたImageView.setImageDrawable

ViewMyImageを使用して前のアクティビティからアクティビティへの位置を指定する場合、送信方法は代わりに Drawable id を渡しCourses.putExtra("position",leftItems[arg2])ます。setImageDrawable2番目のアクティビティでは、値をidに直接渡すことができます

于 2013-03-29T13:48:35.187 に答える