findViewby() 与listView的使用

正在开发listView,在main代码中选择listView:

lv = (ListView) findViewById(R.layout.activity_main.xml.id);

XML的目录结构:

res>layout>activity_main.xml

main_activity.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="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" >
    </ListView>

</RelativeLayout>

我不是很理解XMLid值在Android中使用的原理,请高手解答,谢谢。

0

7个回答

<ListView
android:id="@android:id/list"
这个id代表的是使用android系统listView的id

findviewById的话应该是findviewById(android.R.id.xxxx.list);

可以使用 <ListView
android:id="@+id/list"
@+id/list 代表的自己创建一个id叫list 会在R.java中自动生成
这样的话就能直接在findviewById(R.id.list);获取listView, 注意这个R导入的包名是你项目的包名
格式应该是yourpackage.R

3
lv = (ListView) findViewById(R.id.list);

main_activity.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="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" >
    </ListView>
</RelativeLayout>
1

@android:id/list是系统ListActivity默认布局中的ListView的ID,如果使用自己布局中的ListView,ID应设置为@+id/list

1

@+id表示为控件增加一个唯一标识id,@id表示引用一个已经定义过的id,如果因为内存不存导致activity被回收重新打开而执行onSaveInstanceState()函数时,没有定义id的控件不能自动进行数据的保存和恢复操作。

1

这其实是一个map操作,R.java文件里存放的是归了类的键值,那个id值就是map的一个键值,findViewById()方法根据这个键值找到对应的对象返回,返回的对象类型在Java里默认是Object,所以findViewById前面需要进行类型转换。

1

xml的ID会转换为对应控件的对象

0

ID就是一个唯一标识码,它会在你编译时存入R文件中,在你的activity控制器中,通过ID找到你需要的控件、图片、声音等内容,进行业务逻辑操作

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
注解findviewBy
activity继承AnnotationsActivity可以使用@ViewInject id R id annotations click &quot;annotationsClick&quot; TextView annotations;
preference自定义布局findViewById无法使用的问题
在preference中,无法使用findViewById,编译会报错,
Android Studio编译失败:对findViewById的引用不明确
Android Studio编译报错: 错误: 对findViewById的引用不明确 Activity 中的方法 findViewById(int) 和 AppCompatActivity 中的方法 &lt;T&gt;findViewById(int) 都匹配 其中, T是类型变量: T扩展已在方法 &lt;T&gt;findViewById(int)中声明的View...
ListView的用法及详解
ListView的简单使用(简单ListView的使用,有标题ListView的使用,带图片ListView的使用,自定义ListView的使用)
ListView的简单应用(一)
    犹豫了几天,觉得还是把这个教程写一下吧。虽然在网上已经一大堆了,但是这是我学习的历程我觉得我还是该记录下来,以后也可以温故而知新。    ListView在Android众多控件中占有比较重要的地位,也是面试官热爱提问的控件之一,特别是关于它的性能优化。这一块我想着把他留到最后再说,我们先来谈谈ListView的简单应用,毕竟什么东西都是由浅入深的嘛。    首先我们要先创建一个项目,打开...
Android基础之ListView的使用详解
今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。 我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。 一个ListView通常有两个职责。 (1)将
Android—— ListView 的简单用法及定制ListView界面
一、ListView的简单用法 2. 训练目标 1) 掌握 ListView 控件的使用 2) 掌握 Adapter 桥梁的作用 二、定制ListView界面 1.训练目标 1) 掌握 ListView 控件的使用 2) 掌握如何自定义 Adapter 的使用
安卓-ListView基本使用
今天的目标是使用ListView控件完成一个布局,左边一个图标,右边分为上线两部分:标题和内容; ListView在使用时要考虑内存优化,就是使用ViewHolder(自己定义的一个内部类,存储布局中的控件的索引) 适配器使用继承自ArrayAdapter的适配器,也可以继承自BaseAdapter(要多写几个方法) 目前虽然还有公司在使用,但是后面大家陆续都会转向RecyclerView,
ListView之ViewStub的懒加载!
ViewStub 也是个View,但是懒加载,可以提前加入到 xml的布局文件中,但是不会加载,它的默认情况下是 View.GONE 当你把他设置成 View.Visable它会调用自己的inflate()方法  * 这时候才 真正去构建自己,注意它的inflate()方法只能被调用一次!;所以为了提高性能,有个元素不需要一开始就加载可以考虑用 ViewStub,此外还有一个merg元素也是懒加
ListView基本使用
珍惜作者劳动成果 转载请注明出处   学过ListView的人都知道, 它在Android学习中有着举足轻重的地位, 虽然现在有了RecyClerView来替代ListView, 但是对于我们初学者来说, 了解和使用ListView还是非常重要的!!!   我们应该知道, 显示复杂内容的控件一般会有一个Adapter来控制它的显示. 这其实就是我们平常所说的MVC设计模式. Adapte
ListView使用方法大总结
1.使用ViewHolder viewHolder一般定义在Adapter的内部,并且将布局中的控件作为成员变量。 public class ViewHolderAdapter extends BaseAdapter { private List mData; private LayoutInflater mInflater; @Override public
Listview使用步骤
public class MainActivity extends AppCompatActivity { ArrayListString> ls = new ArrayListString>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate
Android列表组件ListView使用详解之ViewHolder提高效率
Android列表组件ListView,用于显示列表式的数据信息。自Android5.X版本起,官方推出了RecyclerView组件,在许多方面逐渐取代ListView,但ListView仍然得到了广泛的应用,后续的文章中会接着探讨RecyclerView。 使用ViewHolder模式旨在提高ListView加载数据的效率,充分利用ListView视图的缓存机制,避免在ListView适配器...
Android中ListView的使用及优化
一.ListView常规使用 1.list item布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_pa
Listview的自定义界面的使用
listview的使用在这里就不说了,直接说listview定制界面的使用。 1.定义一个实体类,作为listview的适配器的适配类型 新建类Fruit,代码如下: public class Fruit { private String name; private int imageId; //图片id public Fruit(String name,
ListView的基本用法
Listview简介   安卓UI要想实现一个功能稍微复杂一点的功能,势必要用到Listview,它可以实现最常用的数据到视图的映射,显示动态的页面。   说到listview就肯定要说到adapter,因为我们是实现最基本的功能,所以这里采用简单的SimpleAdapter。 实例演示   下面我们实现一个简单的显示历史记录的页面。   首先是要有数据,如果初学者对...
浅析android 控件listView中的设计模式
listview中涉及两种设计模式:adapte模式和observer模式。 如下是两种模式的UML类图:                    先来分析adapter模式: listview冲的那个client角色,接口Adapter充当target,BaseAdapter充当adapter,而listview的数据对象就是adaptee。 Adapter接
Android入门——Intent、Bundle的使用和ListView的应用
Android入门——Intent、Bundle的使用和ListView的应用
Android的ListView简单使用的实例(附Demo)
  目录 1.例子1:使用ListView  ListView的简单使用:  2.例子2:设置ListView点击效果 3.例子3:为ListView绑定监听器  Demo地址:https://github.com/zGuangYuan/Androidstudio_example    1.例子1:使用ListView  新建一个应用程序,然后再MianActivity中设置一...
ListView和ImageList的结合使用
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespac
使用ListView填充Dialog对话框里的item
一般弹出对话框的内容是个提醒信息,或者是“确认”和“取消”的选择信息,如果要是item是从外部获取或者很多个怎么办,下面就介绍使用ListView来填充Item,并有点击事件! 其实写法非常的简单,写一个Adapter类,调用即可 package com.example.dialoaglistview; import java.util.List; import java.util.Map;
【C#】对于ListView控件使用的个人心得
前言:最近看到许多网友对listView控件的使用方法有很多疑问,今天就用实例来讲解一下对listView控件的使用心得,希望这些简单实用的方法能帮助大家快速理解。   1、首先介绍一下我的winform界面 这里要着重讲解一下如何使listView达到这样的效果(我这里以三个属性列做介绍,具体可以根据自己的实际需要) 首先更改listView的属性View、GridLi
android MVVM开发框架——(2)DataBinding 应用于ListView
android MVVM开发框架——(1)DataBinding 基础应用 附上mvvm中databinding的基本应用链接,只有找到了基本用法才能继续进阶
VS之listview使用
博客地址http://blog.csdn.net/bingdianlanxin/article/details/42087885,有问题欢迎留言。
ListView如何提高其效率?
部分内容来自http://blog.csdn.net/oldmtn/article/details/8804715 http://www.cnblogs.com/error404/archive/2011/08/03/2126682.html 1. 复用ConvertView,效率提高200% public View getView(int pos, View con
android 使用Glide实现listview图片缓存
上一博客,使用v4包的缓存机制来实现图片缓存,并在listview中实现异步加载图片,但我回顾了一下,感觉十分繁琐,想着有没有现成的jar包,或者类库什么的可以帮助我直接实现这个功能,然后Glide出现了,一句话就搞定。。大大提高了开发效率。 首先去下载Glide的jar包, 下载地址:https://github.com/bumptech/glide/releases/tag/v3.7.0
c#中TreeView和ListView的一些用法
TreeView   TreeNode的Tag可以用来存储一个对象的引用(类似vc里面的SetData方法),可以用来存储相对于这个node的自己所需要的数据 添加首個節點使用TreeView.Nodes添加   在TreeView上增加右鍵菜單: 添加一個ConetxMenuStrip控件; 在控件中增加MouseDown Events; 然後在方法中添加代碼: priva
Android:不使用布局文件,为Listview填充数据
因为多人开发,为了是自己开发的模块fangbia
Android图片加载框架Picasso使用教程 (二)listviewh和gridview
前言   前面我们已经介绍了Picasso的基本用法及如何将一张图片加载到ImageView中,下面我们就利用Picasso在ListView中加载图片;Let’s Go! 一个ListView的简单应用示例 1: 首先,需要先准备好一些网络图片资源 public static String[] imageUrls = {             "http://i.im
Android开发经验总结——ListView的使用
Android中ListView这个组件比较常用,但对初学者来说,又比较难掌握,在此分享一下我的使用经验。ListView是以列表的形式展示数据,这里面有三个要素:数据、视图、适配器。常用的适配器有三种:ArrayAdapter, SimpleAdapter, SimpleCursorAdapter。其中SimpleAdapter扩展性最好,几乎能实现所有展示需求的列表,我在实际开发中用的全是这个...
widget中使用Listview (下)代码实现
1. widget的布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="verti
Android中ListView的使用步骤
第一步:  首先,在 布局文件中,声明listView控件.    1 ListView 2 android:id="@+id/lv" 3 android:layout_width="fill_parent" //注意宽度和高度必须为 fill_parent 4 android:layout_height="fill_pare
Kotlin初探:用Kotlin实现Android的ListView列表
Google 在今年 I/O 2017 开发者大会中宣布,正式把 Kotlin 纳入 Android 程序的一级开发语言(First-class language)。并且,Android Studio 3.0将会支持Kotlin,不用再安装额外插件。 Kotlin 主要由 JetBrains 开发,能与 Java 互通,但拥有 Java 不支持的功能。 本文用的的有Kotlin 的 is as companion 等
ListView的例子
1. 概述 ListView用于以列表的形式显示数据
Android fragment中 简洁而方便的自定义ListView 规划你喜欢的风格
光说没效果不行,先放图。 tab_layout.xml  xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_wi
Android开发(1):ListView和RecyclerView以及Adapter的基本使用
本文主要讲ListView和RecycleView的基本使用,以及如何自定义Adapter,设计自己喜欢的Item样式,但具体原理不涉及,等以后有时间在记录。 ListView和RecycleView均为Android控件,是布局中特别重要的控件,用来显示一列一列的数据,Adapter是适配器,用于填充数据和设计Item样式,ListView有自带的Adapter,RecycleView需自定义...
C#中listview的使用方法介绍
在.Net FrameWork SDK中定义了许多组件,Visual C#就是通过获得这些组件的实例来丰富自己的界面的。列表(ListView)是程序设计中一个常用的组件,由于其自身的特点,往往被使用显示比较庞大的数据信息。本文就是利用他的这个特点来看看它如何来显示数据记录。   一. 程序设计和运行的环境   (1).微软视窗2000专业版本   (2)..Net FrameW
ListView使用ArrayAdpater显示信息列表
此文,仅做为个人学习Android,记录成长以及方便复习!市场上常见的两种ListView图中的纯文字版包括标题和具体解释的item。图文并茂的ListView需要通过SimpleAdapter实现。本文使用的ArrayAdapter实现纯文字的ListViewactivity_main.xml&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;Rel...
【Android基础】listview控件的使用(1)------最简单的listview的使用
listview控件是项目开发中最常用的空间之一,我将慢慢推出关于listview的一系列的文章,先从最简单的,系统自带的listview开始吧! 先上效果图: activity_one.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool
Android ListView的应用(如何去实现ListView控件(自定义适配器))
稀稀拉拉学了有快1年的Android了,但是依然跟刚入门的小白一样,用到啥学啥,上网查别人的代码,然后复制粘贴过去,最后什么都没学到,现在是深有体会,我希望记录一些知识点,踏踏实实的走好每一步,希望刚入门的小白能用到。首先Android Studio中有许多系统自带的空间,比较常见是TextView,EditView,ImageView,Button,ImageButton,等等许多的空间,现在我...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据使用培训 数据库使用培训