从意图中获取布局细节

时间:2012-08-28 04:50:06

标签: android android-intent

我有一个小查询, 假设我们使用意图开始一项活动

startActivity(intent);

并打开一个新屏幕,其中包含内容,如按钮和文本字段 我只需要知道是否可以获取有关布局及其内容的详细信息。

我认为这不可能,但只是想得到正确的确认。

2 个答案:

答案 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);
}