我有一个小查询, 假设我们使用意图开始一项活动
startActivity(intent);
并打开一个新屏幕,其中包含内容,如按钮和文本字段 我只需要知道是否可以获取有关布局及其内容的详细信息。
我认为这不可能,但只是想得到正确的确认。
答案 0 :(得分:1)
不,这是不可能的。并且(来自评论)不,不可能从单独的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
整数。该整数表示View
(更具体地,Button
)。收到Activity
后,它会找到匹配的View
,检查其是Button
,然后对其执行点击操作。
这样,您只需传递要点击的项目的整数ID,而您打开的Activity
只会处理其余内容。
答案 1 :(得分:0)
您可以使用getChildAt()
获取内容for(int i=0; i<((ViewGroup)v).getChildCount(); ++i) {
View nextChild = ((ViewGroup)v).getChildAt(i);
}