android 点击获取容器里头被点击控件的ID

Android

1个回答

写回答

jelly薇

2026-02-09 01:55

+ 关注

Java
Java

你可以在点击事件中使用ViewTreeObserver来获取被点击控件的ID。下面是一个示例代码:Javapublic class MAInActivity extends AppCompatActivity implements ViewTreeObserver {private int mClickedId = 0;private View mClickedView;

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setcontentView(R.layout.activity_mAIn);

// 获取根布局 View root = findViewById(R.id.root);

AI
AI

// 注册点击事件 root.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mClickedView = v; mClickedId = (int)v.getId(); } });

// 监听ViewTreeObserver mClickedView.getViewTreeObserver().addOnGlobalLayout(new ViewTreeObserver.OnGlobalLayout() { @Override public void onGlobalLayout() { // 获取被点击控件的高度和宽度 float height = mClickedView.getHeight(); float width = mClickedView.getWidth();

// 根据高度和宽度获取被点击控件的ID int id = (int)(width / 2 * height); // 输出结果 Log.e("MyApp", "被点击控件的ID为:" + id); } });}以上代码只是一个示例,具体实现方式可能会因项目不同而有所差异。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号