Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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+imageview基本代码示例_Android_Listview_Imageview - Fatal编程技术网

Android listview+imageview基本代码示例

Android listview+imageview基本代码示例,android,listview,imageview,Android,Listview,Imageview,我已经浏览所有可能的网站很久了,还没有找到我的需要。我需要在android中找到一个基本listview的代码示例,该示例允许我单击列表中的项目,并将我带到一个imageview,其中显示列表中每个项目的不同图像。请为此发布一个有效的样本代码,因为我弄不懂它让我抓狂: 您所需要做的就是更改OnItemClickListener方法我不打算详细介绍如何创建ListView或设置适配器之类的内容,Web上有很多其他示例可以做到这一点,您的问题不是问如何设置ListView适配器 创建扩展ListAc

我已经浏览所有可能的网站很久了,还没有找到我的需要。我需要在android中找到一个基本listview的代码示例,该示例允许我单击列表中的项目,并将我带到一个imageview,其中显示列表中每个项目的不同图像。请为此发布一个有效的样本代码,因为我弄不懂它让我抓狂:


您所需要做的就是更改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>