我有一个小查询,假设我们使用意图启动一个活动
startActivity(intent);
并打开一个新屏幕,其中包含内容,例如按钮和文本字段,我只需要知道是否可以获取有关布局及其内容的详细信息。
我认为这是不可能的,只是想得到一个适当的确认。
我有一个小查询,假设我们使用意图启动一个活动
startActivity(intent);
并打开一个新屏幕,其中包含内容,例如按钮和文本字段,我只需要知道是否可以获取有关布局及其内容的详细信息。
我认为这是不可能的,只是想得到一个适当的确认。
不,这是不可能的。而且(来自评论)不,不可能从单独的Activity
. 但是,您可以做的是:
// Calling code:
intent.putExtra(getPackageName() + ".click_me", R.id.your_button); // getPackageName() is for best practices
startActivity(intent);
// In your Activity:
Intent intent = getIntent(); // Get the Intent we used to launch this
int buttonToClick = intent.getIntExtra(getPackageName() + ".click_me", 0); // Get the integer
if (buttonToClick != 0) { // If it's 0, we didn't specify it
View toClick = findViewById(buttonToClick); // Find the View
if (toClick != null && toClick instanceof Button) { // If the View exists, and is a Button..
((Button) toClick).performClick(); // ..then click it
}
}
您提供以整数Intent
开头的。Activity
该整数表示 a View
(更具体地说,a Button
)。一旦Activity
接收到它,它就会找到匹配的View
,检查它是否是 a Button
,然后对其执行点击操作。
这样,您只需传递要单击的项目的整数 ID,而您打开Activity
的只是处理其余部分。
您可以使用 getChildAt() 获取内容
for(int i=0; i<((ViewGroup)v).getChildCount(); ++i) {
View nextChild = ((ViewGroup)v).getChildAt(i);
}