1

我有一个主要的活动课和查找课。我需要从查找类访问主要活动变量的变量,即“名称”。我尝试使用以下代码段访问,但出现错误。如何从另一个类访问主要活动变量?

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 
}

}

4

2 回答 2

8

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

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

于 2012-05-13T03:36:10.237 回答
4

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

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

于 2012-05-13T01:08:18.930 回答