我有一个图像的网格视图。我从中选择一个图像并在activity2.xml中显示它。现在我想拖动这个图像视图。怎么做?

时间:2015-09-25 11:52:30

标签: android xml image android-layout

我有一个grid.class,我从中选择一个图像并在activity_main.xml中显示它。 每当我选择一个图像时,它的ID将是" imageChosen"。 我能够拖动从可绘制文件夹中获取的任何图像,但不能拖动这个动态选择的图像,图像ID。

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_vertical_margin" >
<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:id="@+id/image1"
    android:src="@mipmap/ic_launcher"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
   </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

我真的不明白你在说什么,但假设你有一个带有一些图像的网格适配器,所以你选择一个,你希望那个图像显示在主要活动中;所有你需要的是:

1)创建一个包含所有图像的数组:

public class Images{
    // references to our images
    private Integer[] mIds = {
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7,
            R.drawable.sample_0, R.drawable.sample_1,
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7,
            R.drawable.sample_0, R.drawable.sample_1,
            R.drawable.sample_2, R.drawable.sample_3,
            R.drawable.sample_4, R.drawable.sample_5,
            R.drawable.sample_6, R.drawable.sample_7
    };
} 

2)在您的项目上单击网格视图将索引发送到displayActivity:

 gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Intent mInDisplay= new Intent(MainActivity.this, DisplayActivity.class);
                mInDisplay.putExtra("Index", position);
                startActivity(mInDisplay);
            }
        });

3)在DisplayActivity中显示img:

 //onCreate()
        Bundle bundle=getIntent().getExtras();
                int index=bundle.getInt("Index");      
                ImageView mImage = (ImageView) findViewById(R.id.Img);
                mImage.setImageResource(Images.mIds[index]);