达尔维克的评估功能

时间:2011-03-13 02:00:53

标签: android eval

如果我知道变量的模式,例如R.id.edit_x,其中x(1..N),我如何获得对给定EditText的引用,如findViewByID(R.id.edit_1)。 Dalvik中有“eval”功能吗?感谢。

3 个答案:

答案 0 :(得分:1)

尝试Java反射。关于通过反射检索静态最终字段的讨论在这里 - Accessing Java static final ivar value through reflection

答案 1 :(得分:0)

霍哈的回答很好。您可以做的另一件事是创建一个将1..N映射到资源ID的查找表。 (据推测,您提前了解所有资源ID。)

答案 2 :(得分:0)

也许,您可以查看roboguice。它是Android的ioc框架,它真的很容易使用。我从项目的样本中复制一些代码以显示如何使用它:

public class AstroboyMasterConsole extends RoboActivity {

    @InjectView(R.id.self_destruct) Button selfDestructButton;
    @InjectView(R.id.say_text)      EditText sayText;
    @InjectView(R.id.brush_teeth)   Button brushTeethButton;
    @InjectView(tag="fightevil")    Button fightEvilButton;     // we can also use tags if we want

}

那么你可以在代码中注入这些注入的变量!