我有一个主要活动类并查找类。我需要访问主要活动变量的变量,即查找类中的"名称"。我尝试使用以下代码片段代码访问,但出现错误。如何从另一个类访问主要活动变量?
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
的,不属于特定实例。