Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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 无法在listview的第二个活动中显示图像_Android_Listview_Android Activity - Fatal编程技术网

Android 无法在listview的第二个活动中显示图像

Android 无法在listview的第二个活动中显示图像,android,listview,android-activity,Android,Listview,Android Activity,我在drawable中有一些图像,并且有一个列表视图。我想单击listview中的图像,并在另一个活动中完全打开该图像。我有完整的列表视图,但无法显示完整图像。 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wi

我在drawable中有一些图像,并且有一个列表视图。我想单击listview中的图像,并在另一个活动中完全打开该图像。我有完整的列表视图,但无法显示完整图像。 activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
  <ListView
    android:id="@+id/list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
  </ListView>
  </RelativeLayout>

请告诉我为什么我无法在此fullimage类中显示图像。

您可以发送所单击图像的名称,以启动第二个活动,您可以在第二个活动的imageView中拍摄并设置适当的图像

要通过intent发送数据,您可以使用
intent.putExtra(名称、值)

在第二个活动中,您可以使用
intent.getStringExtra(name)
获取第一个活动发送的名称,然后在imageview上设置相应的图像。

我的想法是-您需要将图像名称从activity1传递给activity2,无论您选择什么。您可以使用puteExtra来处理这个资源对象,然后可以获取字符串或任何其他键值对形式的内容。您遇到此问题是因为您的imageview引用没有传递到其他活动。请尝试此操作。。 在MainActivity中-Onite McClick

添加这一行

Intent intent = new Intent(MainActivity.this, FullImage.class);
                intent.putExtra("image",imageId[position]);
                startActivity(intent);
在fullImage类中,在setContentView之后添加这些行

ImageView imageView = (ImageView)findViewById(R.id.fullImage);

        int imageId = getIntent().getIntExtra("image",0);
        imageView.setImageResource(imageId);

您甚至没有在
ImageView
中设置图像,那么您将如何在
FullImage
类中查看图像?
 package learn2crack.customlistview;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.AdapterView;
  import android.widget.ListView;
  import android.widget.Toast;
  import android.app.Activity;
 public class MainActivity extends Activity {
  ListView list;
  String[] web = {"Nature1", "Nature2","Nature3","Nature4","Nature5","Nature6","Nature7" } ;
  Integer[] imageId = {R.drawable.image1,R.drawable.image2, R.drawable.image3,R.drawable.image4,R.drawable.image5,R.drawable.image6, R.drawable.image7 };
  @Override
    protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
   CustomList adapter = new CustomList(MainActivity.this, web, imageId);
   list=(ListView)findViewById(R.id.list);
   list.setAdapter(adapter);
   list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
    public void onItemClick(AdapterView<?> parent, View view,
        int position, long id) {
    Toast.makeText(MainActivity.this, "You Clicked at " +web[+ position], Toast.LENGTH_SHORT).show();
   // I am using this way to show image in another activity
   Intent intent = new Intent(MainActivity.this, FullImage.class);
    startActivity(intent);
 }
  });
 }
  }
 <?xml version =" 1.0 "encoding="utf-8"?>
  <LinearLayout
    Xmlns:android = " http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android : layout_height="match_parent"
  <ImageView
    android:id="@+id/fullImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  <LinearLayout/>
 package learn2crack.customlistview;
  import android.app.Activity; 
  import android.os.Bundle; 
   public class FullImage extends Activity {
    @Override
      protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.full_image);
     }
   }
Intent intent = new Intent(MainActivity.this, FullImage.class);
                intent.putExtra("image",imageId[position]);
                startActivity(intent);
ImageView imageView = (ImageView)findViewById(R.id.fullImage);

        int imageId = getIntent().getIntExtra("image",0);
        imageView.setImageResource(imageId);