Hello Friends我在开发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 void viewImage(View v)
{
System.out.println("Function Running");
Intent intent = new Intent(this , ViewFullImage.class);
intent.putExtra("name", v.getId());
startActivity(intent);
}
这是我的其他活动
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);
}
}
但是当我运行应用程序时,它在点击图像打开活动后停止 任何帮助将不胜感激
答案 0 :(得分:0)
public void viewImage(View v)
{
System.out.println("Function Running");
Intent intent = new Intent(this , ViewFullImage.class);
intent.putExtra("name", v.getId());
startActivity(intent);
}
v是视图!空值 ?如果它是你会得到一个崩溃应用程序的NPE。 此外,清单中是否都注册了活动?
答案 1 :(得分:0)
您无法使用view.getId()
检索图像资源标识符。 getId()
返回小部件ID。您可以使用以下代码进行第一项活动,而不是这样:
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);
}