ログインクラスでは、ユーザー名を取得します。私のレポートクラスでは、その名前を取得しようとします。私は、文字列が正しいように見えるログイン時にユーザー名を入力するときにブレークポイントを使用しました。しかし、レポートクラスからアクセスしようとすると、loginの関数はnull文字列を返します。私は周りを見回して、Googleを使用して、私は私がやるべきことに従っていると確信していますが、それは動作していません。別のクラスから文字列を取得しようとしています
ここに、ログインのコードがあります。必要に応じてさらにコードを表示することができますが、ログイン時にブレークポイントを使用する場合、dNameは常に正しい名前であり、ドライバ名も同じです。しかし、reportからreturnNameに戻ると、driversNameはヌル文字列になります。私はドライバ名をクラス内のグローバル変数ではなくローカル変数として宣言しました。
private void getDriversName(String dName)
{
driversName=dName;
}
public String returnName()
{
return driversName;
}
ここはレポートのコードです。もう一度私は必要なIDを追加することができます。また、ログインを正しくインポートしました。私はブレークポイントを使用し、ステップインを使用したときにログインするまでにかかった。名前がnullに戻ってきています。
LogIn login;
login=new LogIn();
String name= login.returnName();
driver.setText(name);
更新:私は静的を追加する必要がありました。
ログイン画面で取得したユーザ名はいつですか?実際には存在しないかもしれないLogInの新しいインスタンス(またはそれがLogInの別のインスタンスにある)から何かを取得しようとしているようです。おそらくいくつかのコードが役に立ちます。 –
これらは別のアクティビティ(ログインとレポート)にありますか? – Barak