我有几个ImageViews,都使用onClick()。如何根据所点击的图像从特定的ImageView中获取ID或R.drawable int以打开另一个图像?在onClick()中获取R.drawable int
0
A
回答
1
我想你有你的XML布局文件中的一些图像的观点:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_content" >
<ImageView
android:id="@+id/image_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_drawable_1"
android:onClick="doSomething" />
<ImageView
android:id="@+id/image_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_drawable_2"
android:onClick="doSomething" />
<ImageView
android:id="@+id/image_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/image_drawable_3"
android:onClick="doSomething" />
</LinearLayout>
你要这个方法添加到您的活动:
public void doSomething(View v) {
switch (v.getId()) {
case R.id.image_1:
// You clicked on image 1
// If you need to do something to the ImageView with this particular Id then uncomment the next line.
// ImageView imageView = (ImageView) v;
break;
case R.id.image_2:
// You clicked on image 2
break;
case R.id.image_3:
// You clicked on image 3
break;
}
}
-1
您可以使用以下命令从ImageView中获取当前Drawable。
Drawable myDrawable = YourImageView.getDrawable();
然后,您可以继续并使用myDrawable
任何你想要的地方。
0
我不认为你可以获取用于为ImageView生成Drawable的资源标识符,但是当以编程方式设置图像时,可以将其另存为ImageView的标记。
imageView.setImageResource(R.drawable.image_resource);
imageView.setTag(R.drawable.image_resource);
可以不是以后这样的检索:
int imageResource = (Integer) imageView.getTag();
1
使用getResources().getDrawable
例子:
ImageView myImg = (ImageView) findViewById(R.id.myImg);
myImg.setImageResource = getResources().getDrawable(R.drawable.icon);
0
我保存有通过点击显示的图像的IDS int数组中的onClick(),所以我创建了一个类似于解决机智的解决方法那个问题。
我的onClick()现在看起来是这样的:
public void showPictureZoomDialog(View view)
{
int singlePicValue400 = 0;
switch (view.getId())
{
case R.id.picture_imgvw_pic1:
singlePicValue400 = currentPicSite.getPicValues400()[0];
break;
case R.id.picture_imgvw_pic2:
singlePicValue400 = currentPicSite.getPicValues400()[1];
break;
case R.id.picture_imgvw_pic3:
singlePicValue400 = currentPicSite.getPicValues400()[2];
break;
case R.id.picture_imgvw_pic4:
singlePicValue400 = currentPicSite.getPicValues400()[3];
break;
case R.id.picture_imgvw_pic5:
singlePicValue400 = currentPicSite.getPicValues400()[4];
break;
case R.id.picture_imgvw_pic6:
singlePicValue400 = currentPicSite.getPicValues400()[5];
break;
case R.id.picture_imgvw_pic7:
singlePicValue400 = currentPicSite.getPicValues400()[6];
break;
case R.id.picture_imgvw_pic8:
singlePicValue400 = currentPicSite.getPicValues400()[7];
break;
case R.id.picture_imgvw_pic9:
singlePicValue400 = currentPicSite.getPicValues400()[8];
break;
case R.id.picture_imgvw_pic10:
singlePicValue400 = currentPicSite.getPicValues400()[9];
break;
}
Intent intent = new Intent(this, PictureZoomDialog.class);
intent.putExtra("PICID", singlePicValue400);
startActivity(intent);
}
我获得图像的标识我想通过意图显示:
public class PictureZoomDialog extends Activity {
private ImageView mDialog;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_picture_zoom_dialog);
mDialog = (ImageView)findViewById(R.id.pictureactivity_imgvw_pic1);
mDialog.setClickable(true);
mDialog.setImageResource(getIntent().getIntExtra("PICID",-1));
mDialog.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
THX很多家伙让我在正确的方向!
相关问题
- 1. 在android中动态获取R.drawable ID
- 2. 在jQuery中获取JSON onClick
- 3. 如何在DatePickerDialog.OnDateSetListener中获取OnClick?
- 4. 获取类的onClick onClick
- 5. Java获取textField.getText()onclick
- 6. 在onClick中获取表单元素值
- 7. 在onClick中获取对话框参考
- 8. R.drawable被替换android.R.drawable
- 9. JavaScript获取href onclick
- 10. android ListView onClick获取JSONObject
- 11. 如何使用R.Drawable获取图像列表
- 12. 在JNI中获取一个int数组
- 13. Android - 使用int值0作为“null” - 等价于R.drawable
- 14. 获取Nonetype()<= INT()
- 15. 获取INT收集
- 16. R.drawable无法解析图像
- 17. 设置变量R.drawable
- 18. 负荷R.drawable在功能的Android(解决)
- 19. 差T获取<T>(INT ID)和T获取(INT ID)
- 20. 从'int'获取int型字符串
- 21. 用jQuery获取“onclick”的值?
- 22. jQuery:获取内容/ innerhtml onclick
- 23. YUI按钮onclick获取值
- 24. dc.js - onClick获取关键值
- 25. 获取ID onclick或onkeypress div
- 26. 使用onclick addClass获取div
- 27. Slidemenu获取元素onclick
- 28. 获取具有的onclick
- 29. Android onClick未获取视图
- 30. Android获取网址与onclick
你真的想确定哪个'ImageView'被点击或者你真的需要知道'ImageView'包含哪个'Drawable'?你的问题不清楚。 – Squonk 2014-11-09 00:27:13