把设置的方法放在一个方法里面,然后把Id当做参数传进去,比如Ridtext1的话,可以这样用一个变量String
baseId="Rid",这个方法可以写成setConfig(String
strId){String
currentId=baseId+strId;
//后面的代码按下面来
}
然后再用下面的方法
public
static
int
getResourdIdByResourdName(Context
context,
String
ResName){
int
resourceId
=
0;
try
{
Field
field
=
RdrawableclassgetField(ResName);
fieldsetAccessible(true);
try
{
resourceId
=
fieldgetInt(null);
}
catch
(IllegalArgumentException
e)
{
logshowLogDebug("IllegalArgumentException:"
+
etoString());
}
catch
(IllegalAccessException
e)
{
logshowLogDebug("IllegalAccessException:"
+
etoString());
}
}
catch
(NoSuchFieldException
e)
{
logshowLogDebug("NoSuchFieldException:"
+
etoString());
}
return
resourceId;
}将currentId作为参数传入就可以了,这时在调用findViewById找,,,
采纳啊,大哥,写了这么多
adb shell "dumpsys window | grep mCurrentFocus"
adb命令获取比较简单直接(对于获取单个页面比较方便)
打开android studio 连接手机,打开您想查看的App,之后在android studio中点击
Tools > Layout Inspector (用Layout Inspector功能)
————————————————
参考链接: >
ActivityManager manager=(ActivityManager)contextgetSystemService(ContextACTIVITY_SERVICE);
List<RunningTaskInfo> info=managergetRunningTasks(1);
String classname = null;
if( null != info && !(infoisEmpty())){
classname=infoget(0)topActivitygetClassName();
if (classnameequals("comandroidsettingsCryptKeeper")) {
return;
}else {
}
}else{
}
说明:String shortClassName = infoget(0)topActivitygetShortClassName(); //类名
String className = infoget(0)topActivitygetClassName(); //完整类名
String packageName = infoget(0)topActivitygetPackageName(); //包名
getRunninTask(int max)获得当前的max个task的list<ActivityManagerrunningTask>,实际个数可能少于max个,取决于当前运行的task个数是否大于max个。
get(0)取得当前使用的runningTask,get(1)是上一次使用的runningTask
ActivityManagerrunningTask的topActivity可以获得取得runingTask的顶层activity
在androidmanifestxml中,添加用户权限 <uses-permissionAndroid:name="androidpermissionGET_TASKS">
以上就是关于android怎么样获取当前activity下所有的textview控件全部的内容,包括:android怎么样获取当前activity下所有的textview控件、adb笔记3:Android获取App当前页面的Activity名称、如何获取TASK中的Activity等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)