android 能不能通过同一个函数获取不同控件的ID值

android 能不能通过同一个函数获取不同控件的ID值假如有两个TextView控件有不同id 如何用同一个函数 通过点击不同控件获取相应的ID

相同文件下如果控件id相同是不允许的,eclipse会报错的,如果不是同在一个布局文件中的话就可以,findviewbyid ()找的那个id是你前面用setContentView(R.layout.*)中的xml文件中的id。追问

我的问题是不同的ID 能不能用同一函数来获取

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-19
你要的有个现成的函数:view.getId()

你锁说的两个textview,然后点击其中的一个textview,可以确认它的id;我写了个简单的例子如下。如果ok,请给分啊!
textview的布局

<TextView
android:id="@+id/t1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="50dp"
android:text="text1"

android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"/>

<TextView
android:id="@+id/t2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="50dp"
android:text="text2"

android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"/>
activit中的代码:
public class MainActivity extends Activity implements View.OnClickListener{

private TextView t1;
private TextView t2;

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

findViewById(R.id.t1).setOnClickListener(this);
findViewById(R.id.t2).setOnClickListener(this);

}

@Override
public void onClick(View v) {
Log.d("lstlog","onclick");
getCurrentViewId(v);
}

private int getCurrentViewId(View view) {

int id = view.getId();

switch (id) {
case R.id.t1:
Toast.makeText(getApplicationContext(),"text1",Toast.LENGTH_SHORT).show();
break;
case R.id.t2:
Toast.makeText(getApplicationContext(),"text2",Toast.LENGTH_SHORT).show();
}

return id;

}

}追问

int id = view.getId(); 这一句就是将获取的id值赋值给变量id?

追答

是的,你操作一下不就知道了吗... ...

本回答被提问者采纳