2011-11-25 133 views
1

基本上我想要一个按钮在登录后启动新的活动。 我发现我不能够调用StartActivity()作为我的登录page.Please引导StartActivity()红色突出显示

这是登录页面,我用StartActivity(这一点,sth.class)成功地

在做之前
public class Login extends Activity 
{ 

/** Called when the activity is first created. */ 


Button login; 
String name="",pass=""; 
EditText username,password; 
TextView tv; 
byte[] data; 
HttpPost httppost; 
StringBuffer buffer; 
HttpResponse response; 
HttpClient httpclient; 
InputStream inputStream; 
SharedPreferences app_preferences ; 
List<NameValuePair> nameValuePairs; 
CheckBox check; 


public void onCreate(Bundle savedInstanceState) 

{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    app_preferences = PreferenceManager.getDefaultSharedPreferences(this); 

    username = (EditText) findViewById(R.id.username); 
    password = (EditText) findViewById(R.id.password); 
    login = (Button) findViewById(R.id.login); 
    check = (CheckBox) findViewById(R.id.check); 

    String Str_user = app_preferences.getString("username","0"); 
    String Str_pass = app_preferences.getString("password", "0"); 

    String Str_check = app_preferences.getString("checked", "no"); 
    if(Str_check.equals("yes")) 

    { 
      username.setText(Str_user); 
      password.setText(Str_pass); 
      check.setChecked(true); 
    } 

    login.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 

     { 

      name = username.getText().toString(); 

      pass = password.getText().toString(); 

      String Str_check2 = app_preferences.getString("checked", "no"); 

      if(Str_check2.equals("yes")) 

      { 

       SharedPreferences.Editor editor = app_preferences.edit(); 

       editor.putString("username", name); 

       editor.putString("password", pass); 

       editor.commit(); 

      } 

      if(name.equals("") || pass.equals("")) 

      { 

       Toast.makeText(Login.this, "Blank Field..Please Enter", Toast.LENGTH_LONG).show(); 

      } 

      else 

      { 



      try { 

       httpclient = new DefaultHttpClient(); 

       httppost = new HttpPost("http://fyptest.comyr.com/main.php"); 

       // Add your data 

       nameValuePairs = new ArrayList<NameValuePair>(2); 

       nameValuePairs.add(new BasicNameValuePair("UserEmail", name.trim())); 

       nameValuePairs.add(new BasicNameValuePair("Password", pass.trim())); 

       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 



       // Execute HTTP Post Request 

       response = httpclient.execute(httppost); 

       inputStream = response.getEntity().getContent(); 



       data = new byte[256]; 



       buffer = new StringBuffer(); 

       int len = 0; 

       while (-1 != (len = inputStream.read(data))) 

       { 

        buffer.append(new String(data, 0, len)); 

       } 


       inputStream.close(); 

      } 



      catch (Exception e) 

      { 

       Toast.makeText(Login.this, "error"+e.toString(), Toast.LENGTH_LONG).show(); 

      } 

      if(buffer.charAt(0)=='Y') 

      { 

       Toast.makeText(Login.this, "login successfull", Toast.LENGTH_LONG).show(); 
       Move_to_next(); 

      } 

      else 
     { 

       Toast.makeText(Login.this, "Invalid Username or password", Toast.LENGTH_LONG).show(); 

      } 

      } 

     } 

    }); 

    check.setOnClickListener(new View.OnClickListener() 

    { 

     public void onClick(View v) 

     { 

      // Perform action on clicks, depending on whether it's now checked 

      SharedPreferences.Editor editor = app_preferences.edit(); 

      if (((CheckBox) v).isChecked()) 

      { 



       editor.putString("checked", "yes"); 

       editor.commit(); 

      } 

      else 

      { 

       editor.putString("checked", "no"); 

       editor.commit(); 

      } 

     } 

    }); 

} 



public void Move_to_next() 

    { 

    //may perform checking based on ID 

     startActivity(new Intent(this, MainMenu.class)); 

    } 

但对此,我startActivity被红色

public class MainMenu extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_menu); 

    Button new_folder = (Button)findViewById(R.id.new_folder); 
    new_folder.setOnClickListener(new View.OnClickListener(){ 

     @Override 
     public void onClick(View v) { 
      // show another class 
      startActivity(new Intent(this,Folder_Details.class)); 

     } 

    }); 
} 

} 

它显示下划线 “构造意图(新View.OnClickListener(){},类)是未定义” 和“删除参数相匹配的Intent( )“选项

我已将<Activity></Activity>包含在Manifest中。并且上面的代码显示,进口已被切断

回答

3

是的,这是因为您试图使用“this”来引用您的按钮而不是您的活动。你有来取代它这个样子,

而不是startActivity(new Intent(this, Folder_Details.class));

为此,

startActivity(new Intent(MainMenu.this, Folder_Details.class)); 
4

修改它

startActivity(new Intent(MainMenu.this,Folder_Details.class)); 

您使用的是View.OnClickListener代替语境实例。

0

startActivity(new Intent(MainMenu.this,Folder_Details.class));