用户登录时调用新布局

时间:2015-04-03 19:19:41

标签: android

我正在学习如何构建Android应用程序以及我正在构建登录应用程序。

我创建了两个类:

MainActivity

  usernameField = (EditText)findViewById(R.id.editText1);
  passwordField = (EditText)findViewById(R.id.editText2);

   public void loginGet(View view){
      String username = usernameField.getText().toString();
      String password = passwordField.getText().toString();
      new SigninActivity(this,status,role,1).execute(username,password);
   }

SigninActivity

   @Override
   protected void onPostExecute(String result){
       if(result == ""){
           this.statusField.setText("Wrong password.");
       }else{
           this.statusField.setText("Login Successful");
           this.roleField.setText(result);  
           // I would like to change the Layout here
       }
   }

如何在用户登录时更改布局?

我试图把setContentView,但我收到了这个警告:

  

方法setContentView(int)未定义类型   SigninActivity

谢谢你们。

更新

SigninActivity

public class SigninActivity  extends AsyncTask<String,Void,String>{

       private TextView statusField,roleField;
       private Context context;
       private int byGetOrPost = 0; 
       //flag 0 means get and 1 means post.(By default it is get.)
       public SigninActivity(Context context,TextView statusField,
       TextView roleField,int flag) {
          this.context = context;
          this.statusField = statusField;
          this.roleField = roleField;
       }

       protected void onPreExecute(){

       }
       @Override
       protected String doInBackground(String... arg0) {

             try{
                String username = (String)arg0[0];
                String password = (String)arg0[1];
                String link = "http://10.0.2.2/example/teste.php?username="
                        +username+"&password="+password;
                URL url = new URL(link);
                HttpClient client = new DefaultHttpClient();
                HttpGet request = new HttpGet();
                request.setURI(new URI(link));
                HttpResponse response = client.execute(request);
                BufferedReader in = new BufferedReader
               (new InputStreamReader(response.getEntity().getContent()));

               StringBuffer sb = new StringBuffer("");
               String line="";
               while ((line = in.readLine()) != null) {
                  sb.append(line);
                  break;
                }
                in.close();
                return sb.toString();
          }catch(Exception e){
             return new String("Exception: " + e.getMessage());
          }
          }


       @Override
       protected void onPostExecute(String result){
           if(result == ""){
               this.statusField.setText("Wrong password.");
           }else{
               this.statusField.setText("Login Successful");
               this.roleField.setText(result);  

               MainActivity.setAuth(context);
               setContentView(R.layout.activity_main);
           }
       }
    }

MainActivity

public class MainActivity extends Activity {

   private EditText usernameField,passwordField;
   private TextView status,role,method;

   @Override 
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      usernameField = (EditText)findViewById(R.id.editText1);
      passwordField = (EditText)findViewById(R.id.editText2);
      status = (TextView)findViewById(R.id.textView6);
      role = (TextView)findViewById(R.id.textView7);
   }
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
   public void loginGet(View view){
      String username = usernameField.getText().toString();
      String password = passwordField.getText().toString();
      new SigninActivity(this,status,role,0).execute(username,password);

   }  
}

1 个答案:

答案 0 :(得分:0)