Android les principales variables de l'activité d'une autre classe
J'ai une activité principale de la classe et de trouver la classe. J'ai besoin d'accéder à une variable de l'activité principale de la variable qui est le "nom" de trouver de la classe. J'ai essayé d'accès ci-dessous extrait de code, mais j'obtiens une erreur. Comment puis-je accéder aux principales variables de l'activité d'une autre classe ?
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();
}
});
}
Mon deuxième classe....
public class find {
public void finder(){
main mainactivity=new main();
String incoming_name =mainactivity.name;//I can not use like that ?
//do something
}
}
Vous devez vous connecter pour publier un commentaire.
1) Vous ne devriez pas instancier une activité, les intentions de départ des activités de
2) Vous avez déclaré que la variable
public static
, de sorte que vous pouvez simplement référence à elle (sans l'instanciation de la classe) parmain.name
...Vous ne voulez pas accès
Activity
's variables directement à partir d'un autre (externe) de la classe. C'est une mauvaise pratique, car les Activités sont, après tout, une partie de l'INTERFACE utilisateur, et non pas le backend de l'application.Notez également que dans votre exemple, le
name
propriété eststatic
et n';t appartiennent à une instance spécifique.