Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android共享资源/在活动之间传递资源信息_Android_Android Activity_View_Resources_Imageview - Fatal编程技术网

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"

朋友们好,我在开发android应用程序时遇到了一个新问题。我只是android应用开发的新手。我已经开始开发一个应用程序,在这个应用程序中,我在一个活动中有一系列的图像,单击这些图像应该会在另一个活动中打开

这是我的布局

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