在我的Android项目中,我有3个类:
第1个List类包含一个登录按钮和2个EditText框,分别用于用户名和密码
代码如下所示:
signin.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
EditText etxt_user = (EditText) findViewById(R.id.usereditlog);
t_id = etxt_user.getText().toString();
EditText etxt_password = (EditText) findViewById(R.id.pwdeditlog);
password = etxt_password.getText().toString();
}
})
第二类是扩展应用程序的App
class App extends Application
{
List session = new List();
public String getUsername()
{
return session.t_id;
}
public void setUsername(String username)
{
session.t_id = username;
}
public String getPassword()
{
return session.password;
}
public void setPassword(String password)
{
session.password = password;
}
}
第3类是Utils,我在检索在List类的初始执行期间输入的用户名和密码时遇到问题
public class Utils extends Activity
{
public static List mySessionObject = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button signin = (Button) findViewById(R.id.regsubmitbtn);
signin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Utils.mySessionObject = new List();
//some extra initalization, for example setting userId
App app = (App) getApplication();
String username = app.getUsername();
String password= app.getPassword();
}
});
}
}
我面临的问题是从我的第三课中检索用户名和密码。由于某种原因,它无法正常工作。
答案 0 :(得分:1)
您需要在清单文件中指定应用程序类的名称,如下所示
<application android:label="@string/app_name" android:name="App" android:icon="@drawable/icon">
并初始化变量如下....
((App)getApplication()).setUsername(name);
并使用以下行进行检索,
String name= ((App)getApplication()).getUsername();