android 已知控件的id名 怎么得到其id值

xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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="com.example.hezhi.schoolcalendar.MainActivity">

    <TextView
        android:id="@+id/yhz"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_marginTop="214dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />


</RelativeLayout>

MainActivity

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView tv = (TextView) findViewById(R.id.yhz);
        tv.setText("success");
    }
}


上面这个我不想使用R.id.yhz的方式得到它的id 可以通过id名是yhz得到它的id值吗?

0

4个回答

详细可参考:
"")
给出一个范例:
int intialResID = getResources().getIdentifier(initialCbID, "id", context.getApplicationContext().getPackageName());


1

通过给定的字符串获取控件的ID

getResources().getIdentifier("TextView01", "id", "wa_keng.code");

通过上面的代码可以获取id为TextView01的控件.第三个参数为包的名称。

0
0

for(int i=1;i<=4;i++){
String idName="yhz";
idName=idName+i;
Log.d("yhz", "onCreate: "+idName);
int id=getResources().getIdentifier(idName,"id",getBaseContext().getPackageName());//通过名字获取id 其值为R.id.yhz
TextView tv = (TextView) findViewById(id);
tv.setText("success");
}
保存一下 用的这个方法

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android 已知控件的id名 怎么得到其id值
xmlnnn```n nnn nnnn```nnnMainActivitynnnn```nimport android.support.v7.app.AppCompatActivity;nimport android.os.Bundle;nimport android.widget.TextView;nnpublic class MainActivity extends AppCompatActivity nn @Overriden protected void onCreate(Bundle savedInstanceState) n super.onCreate(savedInstanceState);n setContentView(R.layout.activity_main);nn TextView tv = (TextView) findViewById(R.id.yhz);n tv.setText("success");n nnn n```nnn上面这个我不想使用R.id.yhz的方式得到它的id 可以通过id名是yhz得到它的id值吗? nn
如何获取控件id,包名,类名
在测试app中最长见的就是获取包名或一些界面名称,我总结了几种方法nn1. adb 中输入  adb logcatnn2.通过签名文件nn3.通过DDMSnn3.通过 adb shell pm list packagenn4.adb shell Is -al/data/datann5.Hierarchyviewer.batnn5.通过自己写android应用记录开启应用的包名...
Android中资源id的获取,根据id获取资源以及根据资源名称获取id。
1.如何获取资源id n      layout布局中: @资源类型/资源名n      java代码实现: R.资源类型.资源名n  n2.如何根据id获取资源n      getResources().get资源类型(R.资源类型.资源名);n  n3.如果根据资源名称获取id (大量数据,并且资源名称有共同点,可以通过循环获取id)n     * name:资源的名称            ...
Android 通过resource名称或者layout中定义的id name 去获取R.java中id,得到控件
private int getIdFromR(String strId, String type, String packageName) {rn        Resources resources = getResources();rn        int id = resources.getIdentifier(strId, type, packageName);rn        ret
Android 如何根据资源的名字获取其ID值
package com.example.sdk;nimport android.content.Context;n/** n * 根据资源的名字获取其ID值 n * @author mining n * n */ npublic class MResource { n public static int getIdByName(Context context, String classNa
Android 获取控件id的三种方式
n n n 前言:n获取控件是入门的基本的,相信这个不用说就知道怎么得到资源文件中的控件idnn有findViewbyidn有注解方式n反射的方式nn通过findViewbyid获取nnn原理nn我们点击进入Activity.java类中看源码,通过源码我们发现返回的是getWindow.findViewById,这个window是什么呢?我们再次点击进去看看,nn·...
android 根据控件的ID字符串利用反射获取UI控件
int view_id = R.id.class.getField("xxx").getInt(null);nView view = findViewById(R.id.view_id);n或者:nintnview_id = getResources().getIdentifier("xxx", "id", "com.xxx.xxx");nnViewnview  = findView
Android根据反射获取R文件中的字段值即id值
根据给定的类型名和字段名,返回R文件中的字段的值
根据资源名称动态获取资源id的两种方式
通常情况下我们使用R.xxx的方式引用资源,在某些情况下需要根据资源的name来获取资源的id,查了下资料,目前主要有两种方式,这里总结记录一下:n第一种,通过反射来获取n例如,根据name获取drawable资源:n private int getDrawableId(String drawableName) {n try {n Field field ...
android仅通过自定义属性id值获取样式自定义属性值
自定义样式属性的使用nn自定义样式属性一般是使用在自定义UI控件中,自定义样式属性用来扩展UI控件的样式属性。 n使用三步曲如下: n1.声明:自定义样式属性 n2.使用:在layout文件使自定义控件时,设置自定义样式属性的值 n3.解析:在自定义控件的样式属性解析时,读取自定义样式属性的值nnnn声明自定义样式属性nn在values.xml声明CommMyFragmentItem样式属性nnn...
Android通过映射id获取view,resource资源
package utils;nnimport android.content.Context;nnpublic class ResourceUtil { n n    public static int getLayoutId(Context paramContext, String paramString) { n        return paramContext.getResources(...
Android获得当前焦点的控件ID
android
android控件中@id与@+id的区别
在android开发过程中,我们都会用到布局Layout中的控件,来显示数据或者用来跳转到其他页面的。而id就是一个作为获取控件的唯一表示。比如我们平常在写控件的时候,给一个控件附上id (android:id = "@+id/名称")。rn@+id:android:id="@+id/名称"对于这个,相信大家都不会陌生,因为每次敲代码。在布局中的控件,我们都会写上。而他的作用大家也应该很熟悉,作用
Android使用getIdentifier()方法根据资源名来获取资源id
在Android开发的过程中我们需要动态的根据一个资源名获得到对应的资源id,我们可以使用getResources().getIdentifier()方法来获取该id, 然后通过该id进行相应的操作。使用方法如下:1、工程目录如下:2、MainActivity代码如下:public class MainActivity extends AppCompatActivity { @Override
jquery 怎么获取服务器控件ID
页面嵌套母版页时再用 $("#id") 获取服务器端控件(runat="server") ID,就获取不到了.我们可以查看页面源代码,发现ID已经被改了。nnn我们可以通过:n$("#") 获取服务器控件ID或绑定一些事件。nn如:n为服务器端文本控件,想要在jquery中取到它客户端的ID需要进行nn如下转换:n n n $(function ()
java中获得当前执行线程的名称
package 线程生命周期;nnpublic class 获得主线程 {nn public static void main(String[] args) {n // TODO Auto-generated method stubn //获得当前线程的名称n System.out.println(Thread.currentThread().getName());n }nn}
Android-反射+注解获取控件ID
Android-反射+注解获取控件ID通常我们最常规的方法就是通过findViewById这个方法拿到每个我们所定义控件的ID,对于一两个控件 n来说,我们还是能接受这个方法去得到对应的ID,但是一旦我们的控件比较多的情况下就会写很多代码去 n拿到对应的ID了,为了节省内存空间,我们可以通过反射+注解来拿到我们所有控件所对应的IDMainActivity.javapublic class MainA
android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解
android 巧妙利用反射机制获取控件id,避免大量冗杂的findviewbyid和butterknife注解nn一、反射机制概述nJava 反射机制是在运行状态中,对于任意一个类,都能够获得这个类的所有属性和方法,对于任意一个对象都能够调用它的任意一个属性和方法。这种在运行时动态的获取信息以及动态调用对象的方法的功能称为 Java 的反射机制。nnClass 类与 java.lang.refl...
Android获取动态添加控件的Id
最近在写自定义view。需要动态的添加到布局中、找到一份这个记录一下!!!rnrnIdUtils.Java(常用在sdk里面)rnrnrnrnrnrn[java] viewrn plain copyrnrnrn rnrnrnrn/** rn * id rn * 兼容sdk17(4.2.2)以下 rn * Created by zst on 2016/12/5. rn */  rnpublic cl
Android 在其他类中获取某个activity类中的布局和Id
layout为布局,布局里面可以放任何空间,获取布局控件可以用findViewById方法获取。 nnn//获取MainActivity中LayoutInflater (上下文参数)nLayoutInflater factorys = LayoutInflater.from(MainActivity.this);nn//获取View 对象nView view= factorys.inflate(...
android在代码中为new出的控件设置ID及setId()异常
在写自定义控件时,需要给new出来的控件进行ID的设定,从而来对控件进行布局。rn刚开始一直以为setId()传个int就行了,但是一直报错:rnrnrn解决方法:rnAPI 17以上时,可以直接使用 generateViewId() 获得,且可以得到不重复的ID。img_left.setId(generateViewId());rnrn当API小于17时:  可以直接使用此方法 priva
android 通过名字得到资源ID
通过资源名称 获得资源的id package com.example.activitylibrary; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class LibraryActivity extends Activity { String msg = "我是来自Jar中的Activity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(MResource.getIdByName(getApplication(), "layout", "activity_main")); TextView mTextView = (TextView) findViewById(MResource.getIdByName(getApplication(), "id", "textView1")); mTextView.setText(msg); Button mButton = (Button) findViewById(MResource.getIdByName(getApplication(), "id", "button1")); mButton.setText(msg); mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getApplication(), msg, Toast.LENGTH_SHORT).show(); } }); } }
Android 通过字符串资源名获取资源id
在开发中我们可能遇到这样的需求,通过后台返回一个资源名,然后加载res下的资源文件,比如推送状态栏加载指定资源名的图片等,可以通过反射的机制获取。所以与大家分享一个工具类。package com.ml512.common.utils;nnimport java.lang.reflect.Field;nn/**n * 资源操作工具类n * &amp;lt;p&amp;gt;n * create by malong ...
Android利用资源名称获取其id之getIdentifier()方法
代码如下:rnactivity_main.xml布局文件rnrnrn    xmlns:tools="http://schemas.android.com/tools"rn    android:layout_width="match_parent"rn    android:layout_height="match_parent"rn    tools:context="${relativePa
VC++通过控件ID获得控件窗口指针
摘要:VC/C++源码,其它分类,控件ID,控件窗口指针   VC++通过控件ID获得控件窗口指针,点击窗口中的按钮,即可看到控件ID所获取到的控件指针,弹出窗口内显示的内容。VC++通过控件ID获得控件窗口指针源程序代码分享给VC初学者。
Android之通过资源名称获取资源Id
有的时候我们需要通过资源名称获取资源Id,这个其实比较简单,只是做了个简单的封装,记录一下。rn/**n * 资源文件工具类n * @author Jenlyn */npublic class ResourcesUtils {n n private static final String RES_ID = "id";n private static final String RES_STRING
安卓中如何一次性获取多个控件id(for循环进行获取)
用for循环进行获取多个控件id
Android获取系统资源的组件id
问题:rn   1、对于android中的系统资源的组件id,如何获取问题:rn               @android:id/listrn解决办法:rn    1、ListView lv=(ListView)findViewByid(android.R.id.list);
android 查看界面控件id
最常用的是用eclipse/as的ddms去查看控件id,然后通过显示的界面去点击各个控件,右下角就会显示控件id了,这个在系统开发的时候对于快速定位界面在代码的位置很有帮助,通过找到界面id然后估计是在那个apk里面,然后用grep去找那个id就可以定位到具体的代码是那个类里面了。补充:ddms缺点是不能获得systemui的状态栏和导航栏的控件id,这个就需要使用hierarchyviewer...
VC 获取点击控件的id
int nID = LOWORD(GetCurrentMessage()->wParam);
EasyUI中通过id获取不知道具体类型表单控件的值,通过自写map实现
我在用freemarker封装自定义的datagrid时有这样的需求:n我会根据表格的的列属性自动为表格生成相应的查询条件,默认为easyui-textbox类型的n通过接口支持用户自定义其他的类型,例如numberbox,datebox等 n这样就出现了一个问题,我在点击查询的时候程序不知道查询条件是什么类型的所以没法用("#XXX").textbox("getValue"),("#XXX").t
android获取drawable图片的id和名字的方法
ImageView img = holder.getImageView(R.id.icon);nString imgName = "";nint id_up = mContext.getResources().getIdentifier(imgName ,"drawable", "com.demo");nResources resources = mContext.getResources();n
android通过反射根据包名和id或name获取resource ID
android里面,不管是layout,widget,drawable,string,color,array,style等等,android自动会在R.java里面生成resouce ID。那如果只给你包名和widget id 或者string的name,你能得到生成的resouce ID,进而获取这个view或者string吗?实事是可以的。举个栗子给大家看看。rn        /**n
Uiautomator ------通过控件ID来查找进行测试
在上一篇Uiautomator测试----系统测试是通过Uiautomatorviewer工具来搜索查找,当控件含有搜索字符时 唯一时,容易定位及编写代码如:rnnew UiSelector().className("android.widget.TextView").textContains("地图").resourceId("com.android.launch")rnrn但遇到太多的view
获取已加载ImageView图片Id
我使用反射的方法获取ImageView的id, 也可以使用img.setTag(id),但是如果有多个的话,每次都需要设置setTag,太麻烦了。n下面这篇文章介绍了原生ImageView反射方法n转发如何获取已加载在ImageView中的图片IDn但是我导入的是AppCompatActivity,imageView反射的是V7包,无法适用n1.查看源码nAppCompatImageView 这个...
PyQt5根据控件Id获取控件对象
self.findChild(QComboBox, &quot;name&quot;) self is classfirst parameter is Typesecond parameter is Id String
Jquery中获取对应含有括号的id的值失败
近日在实际项目开发中需要把表的id作为input的id,恰巧数据库中的id格式为XXXXXXX(XXXXXXX),意思为大id包含小id。nn可在获取对应的input的值时总是提示undifind。nn经过查找资料后发现,jQuery中的id选择器只能匹配包括,英文、数字、下划线、中划线。JQuery中的1.2.6版本至1.3.2版本都有这种情况,所以修改数据库id的拼接方式,把左右括号改为下划线...
Android 资源名获取资源ID的两种实现方式-附带例子说明
获取资源文件,res目录下的资源时,id报空指针!!!如何解决?nn之前一直纠结的问题,如何获取资源的id??nnnn在android中,我们经常使用资源文件的id来代替这个资源,如 R.drawable.*** ,n那怎样通过文件名得到这个资源的Id的,这里介绍两种方法:nnnn一:通过  getIdentifier (String name, String defType
android 通过资源字符串获得对应ID
android 通过资源字符串获得对应ID~~~
Android 通过名称获取资源ID
当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id,package com.example.administrator.demo;nimport android.content.Context;/**n * Created by Administrator on 2017/8/27 0027.n */npublic class
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 已知学生-课程数据库 数据库课程名怎么表示