2014-06-16 69 views
-1

嗨我有一個Android應用程序創建這是一個基本的登錄屏幕,我想帶你到一個新的活動屏幕,如果登錄正確。不過,我在重定向時遇到了問題。這裏是我的代碼:登錄後將Android重定向到新活動的Java代碼?

package com.example.loginscreen; 

import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

    private EditText username=null; 
    private EditText password=null; 
    private TextView attempts; 
    private Button login; 
    int counter = 3; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     username = (EditText)findViewById(R.id.editText1); 
     password = (EditText)findViewById(R.id.editText2); 
     attempts = (TextView)findViewById(R.id.textView5); 
     attempts.setText(Integer.toString(counter)); 
     login = (Button)findViewById(R.id.button1); 
    } 

    public void login(View view){ 
     if(username.getText().toString().equals("mara") && 
     password.getText().toString().equals("mara")){ 
     Toast.makeText(getApplicationContext(), "Login Successful!", 
     Toast.LENGTH_LONG).show(); 
     startActivity(new Intent(MainActivity.this,HomePage.class)); 
     }  
    else{ 
     Toast.makeText(getApplicationContext(), "Wrong Credentials", 
     Toast.LENGTH_SHORT).show(); 
     attempts.setBackgroundColor(Color.RED); 
     counter--; 
     attempts.setText(Integer.toString(counter)); 
     if(counter==0){ 
     login.setEnabled(false); 
     } 

    } 

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

} 

此刻,如果你用錯誤的憑據一切正常,因爲它應該登錄,但如果你正確地登錄應用程序只是退出,並說,它已停止工作。我知道這個問題它與我的startActivity意圖,因爲如果我刪除

startActivity(new Intent(MainActivity.this,HomePage.class)); 

它至少提出了祝酒通知您正確地已經登錄。謝謝!

下面是主頁的代碼:

package com.example.loginscreen; 

import android.widget.ImageView; 

public class HomePage extends MainActivity{ 
ImageView image; 

public void addListenerOnButton() { 

     image = (ImageView) findViewById(R.id.imageView1); 
} 
} 
+1

logcat中的錯誤是什麼? –

+3

你在manifest中註冊了HomePage.java嗎?大多數情況下,這似乎是錯誤。 –

+1

我很驚訝人們不會使用您在活動名稱末尾放置「活動」的約定。 – EpicPandaForce

回答

0

首先,

寄存器在清單HomePage活性。

而且

變化

public class HomePage extends MainActivity{ 
} 

public class HomePage extends Activity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_home); 
    } 
} 

希望這有助於。

+0

嘿,這工作謝謝,主頁不顯示任何東西,但有任何想法嗎? – user3478524

+0

@ user3478524爲了顯示活動中的任何內容,您需要一個包含其內容的xml文件。檢查編輯的答案。 –

+0

@ user3478524請參閱[本教程](http://www.mkyong.com/android/android-activity-from-one-screen-to-another-screen/)。它是初學者的一個非常好的鏈接:) –