栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Android-如何创建可点击的列表视图?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android-如何创建可点击的列表视图?

实际上,这很容易:

这是您与ListView一起使用的Activity,它实现了OnItemClickListener:

public class MainActivity extends Activity implements onItemClickListener {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);        //* *EDIT* *         ListView listview = (ListView) findViewById(R.id.listView1);        listview.setonItemClickListener(this);    }    public void onItemClick(AdapterView<?> l, View v, int position, long id) {        Log.i("HelloListView", "You clicked Item: " + id + " at position:" + position); // Then you start a new Activity via Intent Intent intent = new Intent(); intent.setClass(this, ListItemDetail.class); intent.putExtra("position", position); // Or / And intent.putExtra("id", id); startActivity(intent);    }

编辑

上面的代码将放在您的MainActivity.java中。我将类的名称更改为

MainActivity
,将contentView更改为
setContentView(R.layout.activity_main)
-名称是在Eclipse中新创建的Android项目的名称。
另请参见// * 编辑 * 下的2行-这些行将为点击列表中的项设置监听器。

您的activity_main.xml应该如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content">    <ListView        android:id="@+id/listView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:entries="@array/sections" >    </ListView></RelativeLayout>

您的

res / values /
文件夹中的 array.xml (不是string.xml)看起来像这样

<resources>    <string-array name="sections">        <item >Pro Constructive</item>        <item >Con Constructive</item>        <item >1st Speaker Cross</item>        <item >Pro Rebbutal</item>        <item >Con Rebuttal</item>        <item >2nd Speaker Cross</item>        <item >Pro Summary</item>        <item >Con Summary</item>        <item >Grand Cross</item>        <item >Pro Final Focus</item>        <item >Con Final Focus</item>    </string-array></resources>

注意:如果您复制并粘贴此代码,它将可以正常工作。但是,由于尚未创建项目,因此单击某个项目会出现错误

ListItemDetail.class

这是看起来的例子:

您的ListItemDetail.java:

public class ListItemDetail extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_listitem);    Intent intent = getIntent();    int position = intent.getIntExtra("position", 0);    // Here we turn your string.xml in an array    String[] myKeys = getResources().getStringArray(R.array.sections);    TextView myTextView = (TextView) findViewById(R.id.my_textview);    myTextView.setText(myKeys[position]);    }}

及其activity_listitem.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical">    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/my_textview"/></LinearLayout>

如果您复制了此代码,它将可以正常工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号