我有一个主要活动类并找到了课程。我需要从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
}
}
答案 0 :(得分:8)
1)你不应该实例化一个活动,意图开始活动
2)您已声明变量public static
,因此您可以通过main.name
简单地引用它(不实例化类...)
答案 1 :(得分:4)
您不希望直接从另一个(外部)类访问Activity
个变量。这是一种不好的做法,因为活动毕竟是UI的一部分,而不是应用程序的后端。
另请注意,在您的示例中,name
属性为static
且不属于特定实例。