Android 无法在listview的第二个活动中显示图像
我在drawable中有一些图像,并且有一个列表视图。我想单击listview中的图像,并在另一个活动中完全打开该图像。我有完整的列表视图,但无法显示完整图像。 activity_main.xmlAndroid 无法在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
<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);