Android共享资源/在活动之间传递资源信息
朋友们好,我在开发android应用程序时遇到了一个新问题。我只是android应用开发的新手。我已经开始开发一个应用程序,在这个应用程序中,我在一个活动中有一系列的图像,单击这些图像应该会在另一个活动中打开 这是我的布局Android共享资源/在活动之间传递资源信息,android,android-activity,view,resources,imageview,Android,Android Activity,View,Resources,Imageview,朋友们好,我在开发android应用程序时遇到了一个新问题。我只是android应用开发的新手。我已经开始开发一个应用程序,在这个应用程序中,我在一个活动中有一系列的图像,单击这些图像应该会在另一个活动中打开 这是我的布局 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/GridLayout1" android:layout_width="fill_parent"
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnCount="3"
android:orientation="vertical"
android:padding="10dp"
android:background="#99CC00">
<ImageView
android:id="@+id/imageView1"
android:layout_column="0"
android:layout_row="0"
android:layout_width="100dp"
android:layout_height="100dp"
android:padding="10dp"
android:src="@drawable/sample_2"
android:onClick="viewImage" />
</GridLayout>
这是我的另一项活动
public class ViewFullImage extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_fullimage);
ImageView imgview = (ImageView)findViewById(R.id.imageView1);
Intent intent = getIntent();
int data = intent.getIntExtra("name", 0);
imgview.setImageResource(data);
}
}
但当我运行应用程序时,它会在我点击图像打开活动后停止
任何帮助都将不胜感激
public void viewImage(View v)
{
System.out.println("Function Running");
Intent intent = new Intent(this , ViewFullImage.class);
intent.putExtra("name", v.getId());
startActivity(intent);
}
这就是风景!无效的如果是,你会得到一个NPE,它会使应用程序崩溃。
另外,这两个活动是否都已在清单中注册?您不能使用
view.getId()
来检索图像资源标识符getId()
返回小部件id。您可以在第一个活动中使用以下代码来代替此操作:
ImageView ImageView=(ImageView)findViewById(R.id.imageView1);
imageView.setDrawableResource();
setTag();
...
公共无效视图图像(视图v)
{
System.out.println(“函数运行”);
Intent Intent=新Intent(这是ViewFullImage.class);
intent.putExtra(“name”,(int)v.getTag());
星触觉(意向);
}
“我正面临一个新问题”问题是什么?每当应用程序崩溃时,请在此处发布日志以获得更好的帮助;)okkk问题是我在一个活动中有一个imageview,当我单击该imageview时,该图像应在下一个活动中打开……知道如何实现吗……这些活动已在清单中注册。活动已启动,但图像未显示在下一个活动中。顺便说一句,崩溃问题已解决。感谢Roman Zhukov的回答,但我现在有另一个问题,我将传递第一个活动中的图像名称,并希望在其他活动中使用该名称创建图像视图。你能帮我解决此问题吗?问题是什么?如何从图像路径创建位图?是的,这就是“如何从第一个活动传递的图像名称创建imageview”的问题
public void viewImage(View v)
{
System.out.println("Function Running");
Intent intent = new Intent(this , ViewFullImage.class);
intent.putExtra("name", v.getId());
startActivity(intent);
}
ImageView imageView = (ImageView)findViewById(R.id.imageView1);
imageView.setDrawableResource(<your drawable resource id>);
imageView.setTag(<your drawable resource id>);
...
public void viewImage(View v)
{
System.out.println("Function Running");
Intent intent = new Intent(this , ViewFullImage.class);
intent.putExtra("name", (int)v.getTag());
startActivity(intent);
}