Android listview+imageview基本代码示例
我已经浏览所有可能的网站很久了,还没有找到我的需要。我需要在android中找到一个基本listview的代码示例,该示例允许我单击列表中的项目,并将我带到一个imageview,其中显示列表中每个项目的不同图像。请为此发布一个有效的样本代码,因为我弄不懂它让我抓狂:Android listview+imageview基本代码示例,android,listview,imageview,Android,Listview,Imageview,我已经浏览所有可能的网站很久了,还没有找到我的需要。我需要在android中找到一个基本listview的代码示例,该示例允许我单击列表中的项目,并将我带到一个imageview,其中显示列表中每个项目的不同图像。请为此发布一个有效的样本代码,因为我弄不懂它让我抓狂: 您所需要做的就是更改OnItemClickListener方法我不打算详细介绍如何创建ListView或设置适配器之类的内容,Web上有很多其他示例可以做到这一点,您的问题不是问如何设置ListView适配器 创建扩展ListAc
您所需要做的就是更改OnItemClickListener方法我不打算详细介绍如何创建ListView或设置适配器之类的内容,Web上有很多其他示例可以做到这一点,您的问题不是问如何设置ListView适配器 创建扩展ListActivity的活动 为新的ListActivity创建布局并在其中放置ListView @+我的示例的id/list 你的单子上有什么?idk,但假设它是一个字符串数组列表 现在,在ListActivity中单击override onListItem 或者,您不需要ListActivity,您可以设置一个ListListener e、 g
好的,这是代码,首先我们得到了列表菜单
package item.list.lol;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Menu extends ListActivity {
String classes[] = {"startingPoint", "lol"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String pointer = classes[position];
try{
Class ourClass = Class.forName("item.list.lol." + pointer);
Intent ourIntent = new Intent(Menu.this, ourClass);
startActivity(ourIntent);
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}
}
还有XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.67"
android:src="@drawable/ic_launcher" />
</LinearLayout>
正如您所见,如果我按下列表中的第一个项目,它现在只能显示一个图像。如果我单击不同的项目,我需要一种方法使它显示不同的图像,有什么想法吗?谢谢您的回答,我现在已经试着在一个类中通过使用getItemAtPosition执行您所说的操作来完成整个应用程序,并且我没有收到任何错误,但是,当我运行应用程序并按下列表中的任何项目时,emulator就会关闭,不知道为什么:/Post一个堆栈跟踪和一些代码,列表中有哪些对象?是的,我会在几个小时内回答我自己的主题,无论如何,我已经有一个应用程序使用带字符串的数组列表工作,将意图发送到与imageView连接的另一个类,然后显示图像。虽然我只对列表中的一个项目有效,所以当我回答这个问题时,我会发布一些代码,因为如果我按下列表中的不同项目,我需要让它显示不同的图像,而这部分我还没有弄清楚。感谢您抽出时间,顺便说一句:是ListView的教程,从下到上浏览每个教程,您将定义自定义适配器。谢谢,我会查看它,但我知道如何制作实际的ListView,我遇到的问题是根据我单击的列表项在imageView中显示不同的图像,请参阅下面的代码,以更好地了解我的实际要求,因为我的问题有点含糊不清,仍然看起来像是有用的教程,并且肯定会查看它们:是的,我知道了,每当您单击某个特定列表项时,您都希望在另一个页面中显示单击的项。在该页面中,您希望相应地显示图像。同样,你可以创建ArrayList,这样每当你点击一个特定的项目时,你就可以很容易地从ArrayList中获取定位的项目。哦,我以前从没想过,我会用它做一些实验,谢谢,但在这种情况下,我会在image.setImageResource中放入什么来从列表中获取所选项目?您应该使用图像URL来存储图像资源。
package item.list.lol;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Menu extends ListActivity {
String classes[] = {"startingPoint", "lol"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String pointer = classes[position];
try{
Class ourClass = Class.forName("item.list.lol." + pointer);
Intent ourIntent = new Intent(Menu.this, ourClass);
startActivity(ourIntent);
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}
}
package item.list.lol;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
public class startingPoint extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView image = (ImageView) findViewById(R.id.imageView1);
image.setImageResource(R.drawable.ic_launcher);
}}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.67"
android:src="@drawable/ic_launcher" />
</LinearLayout>