Android 查看对象id

Android 查看对象id,android,view,Android,View,我在一个活动中有几个对象,我想在对它们执行任何操作之前检查它们的id。然而,我不确定如何进行,我尝试: if (v.getId().contains("empty")){ 但这是一个错误,然后我尝试了 if (v.getId() == "[attr^=empty]"){ 这也是错误的。老实说,我知道这两个都没有使用正确的赋值等等,但我真的不知道如何检查id是否包含某个子字符串。。。。如果有人能帮忙,我将不胜感激 PS:v是一个视图对象v.getId()返回一个整数。为了在做某事之前检查id

我在一个活动中有几个对象,我想在对它们执行任何操作之前检查它们的id。然而,我不确定如何进行,我尝试:

 if (v.getId().contains("empty")){
但这是一个错误,然后我尝试了

if (v.getId() == "[attr^=empty]"){
这也是错误的。老实说,我知道这两个都没有使用正确的赋值等等,但我真的不知道如何检查id是否包含某个子字符串。。。。如果有人能帮忙,我将不胜感激

PS:v是一个视图对象

v.getId()
返回一个整数。为了在做某事之前检查
id
,我建议如下:

switch (v.getId()){
     case R.id.ViewElement1:
          //do something here
          break;

     case R.id.ViewElement2:
          //do something here
          break;

     case R.id.ViewElement3:
          //do something here
          break;
}
这段代码的作用是获取视图的Id,然后通过开关盒块对其进行比较。如果id取自
v.getId()
,则执行case块中的代码。
中断
很重要,否则,在下面的情况下执行的代码也将运行。你也可以为if-else这样做,如果它更适合你的风格

如果要以字符串形式获取id,可以尝试:

String ResourceIdAsString = v.getResources().getResourceName(v.getId());

然后您可以对字符串对象执行if contains操作。

我不完全确定您想要实现什么。这里有一些关于
id
工作原理的概述

首先,您必须在
xml
中创建
id
所有视图,如:

<TextView
    android:height="wrap_content"
    android:weight="match_parent"
    android:id="@+/myTextView" />
如果您有一些做同样事情的视图,您可以使用它们,如:

switch(view.getId()){

  case R.id.myTextView1:
  case R.id.myTextView2:
  case R.id.myTextView3:
  case R.id.myTextView4:
       perfomeSomeAction();
   break;

}

v.getId()
返回一个int。您无法将
int
字符串进行比较。是的,我看到了,但我对它的工作原理感到困惑。我的意思是,当您在xml文件中定义一个对象(例如ImageView)时,您给它一个id(例如:android:id=“@id/empty1”),当您在java/activity中使用视图对象时,您首先需要将其定义为视图对象(view emptySpot=findviewbyd(R.id.empty1))那么,如果不将某个id视为字符串,如何检查它以什么开头呢?我应该应用string.valueof()吗。。。这就是我目前正在做的,我有一个默认情况,我想对id以空开头的所有其他视图应用相同的操作,但我不知道如何只检查id的一部分,或者这是不可能的?idk你的答案与我的不同。你甚至忘记了
中断上一个代码块中的语句。
switch(view.getId()){

  case R.id.myTextView1:
  case R.id.myTextView2:
  case R.id.myTextView3:
  case R.id.myTextView4:
       perfomeSomeAction();
   break;

}