Android从另一个类访问主要活动变量

时间:2012-05-13 00:59:41

标签: android android-activity

我有一个主要活动类并找到了课程。我需要从find类访问主要活动变量的变量,即“name”。我尝试使用下面的代码段访问但我收到错误。如何从其他类访问主要活动变量?

public class main extends Activity {

     public static String name=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button1=(Button)findViewById(R.id.button1);

        final EditText edittext = (EditText) findViewById(R.id.editText1);

        button1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                name=edittext.getText().toString();

            }
        });                                                
}

我的第二堂课......

public class find {

public void finder(){

    main mainactivity=new main();
    String incoming_name =mainactivity.name;//I can not use like that ? 
            // do something 
}

}

2 个答案:

答案 0 :(得分:8)

1)你不应该实例化一个活动,意图开始活动

2)您已声明变量public static,因此您可以通过main.name简单地引用它(不实例化类...)

答案 1 :(得分:4)

您不希望直接从另一个(外部)类访问Activity个变量。这是一种不好的做法,因为活动毕竟是UI的一部分,而不是应用程序的后端。

另请注意,在您的示例中,name属性为static且不属于特定实例。