2011-11-21 33 views
0

在我的Android項目的用戶名和密碼,我有3類:無法檢索使用會話

1日列表類包含一個登錄按鈕,並輸入用戶名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(); 

     }   
    }) 

第二類是應用延伸應用

   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; 
       } 


      } 

第三類是utils的地方在我的檢索列表類

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(); 
      } 
     }); 

    } 
    } 

我的問題的初始執行過程中輸入的用戶名和密碼面臨的問題面臨從我的第三課檢索用戶名和密碼。由於某種原因,它無法正常工作。

回答

1

您需要在清單文件中指定應用程序類的名稱,如下面

<application android:label="@string/app_name" android:name="App" android:icon="@drawable/icon"> 

,並像下面初始化變量....

((App)getApplication()).setUsername(name); 

,並使用下面的行retrive,

String name= ((App)getApplication()).getUsername(); 
+0

根據我的代碼,爲了初始化,我應該寫((App)getApplication())。setUsername(username)對不對? –

+0

在括號內指定的「用戶名」是需要傳遞的值..您需要在同一個類上本地初始化它...否則請嘗試此示例((App)getApplication())。setUsername(「test」); – Karthi

+0

List類中的任何更改?我可以在Utils類中創建一個按鈕,並設置一個監聽器,點擊按鈕顯示用戶名和密碼作爲吐司消息,以確認它正在工作? –