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



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

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 
}

}

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

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

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

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

最新更新