Android Dalvik中的求值函数
如果我知道一个变量的模式,比如R.id.edit_x,其中x(1..N),我如何获得对给定EditText的引用,比如findViewByID(R.id.edit_1)。Dalvik中是否有类似“eval”的函数?谢谢。试试Java反射。关于通过反射检索静态最终字段的讨论在这里-hoha的答案很好。您可以做的另一件事是创建一个查找表,将1..N映射到资源ID。(可能您提前知道所有资源ID。)也许,您可以检查一下。它是android的ioc框架,使用起来非常简单。我从项目的示例中复制了一些代码,以演示如何使用它:Android Dalvik中的求值函数,android,eval,Android,Eval,如果我知道一个变量的模式,比如R.id.edit_x,其中x(1..N),我如何获得对给定EditText的引用,比如findViewByID(R.id.edit_1)。Dalvik中是否有类似“eval”的函数?谢谢。试试Java反射。关于通过反射检索静态最终字段的讨论在这里-hoha的答案很好。您可以做的另一件事是创建一个查找表,将1..N映射到资源ID。(可能您提前知道所有资源ID。)也许,您可以检查一下。它是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
}
然后,您可以在代码中插入这些变量!实际上,编辑文本是通过编程方式创建的,因此以前不知道ID。