Android:如何重定向到另一个页面?

时间:2014-10-01 13:49:33

标签: java android xml eclipse

嘿,真棒编码天才!我是一名正在做最后一年项目的学生,我需要一些帮助。我希望你编码天才可以帮助你! 我想点击登录按钮后将我的Login.java页面指向我的Camera.java。我的xml页面分别是Login.xml和Camera.xml。

所以这是我的Login.java

public class Login 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.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("amirul") && 
              password.getText().toString().equals("aswa")){
            Toast.makeText(getApplicationContext(), "Redirecting...", 
            Toast.LENGTH_SHORT).show();
        }   
        else{
            Toast.makeText(getApplicationContext(), "Wrong Credentials, Please try again.",
            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;
    }

}

这是我的Camera.java

public class Camera extends Activity {
    ImageView iv;

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

        iv = (ImageView) findViewById(R.id.imageView);
        Button btn = (Button) findViewById(R.id.takephoto);
        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, 0);              

            }
        });

    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode ==0) {
            Bitmap theImage = (Bitmap) data.getExtras().get("data");
            iv.setImageBitmap(theImage);
        }
    }
}

我希望你们有人能帮助我!这是我的第一篇文章btw!

4 个答案:

答案 0 :(得分:0)

在您的登录方法中,您可以执行以下操作:

Intent cameraIntent = new Intent(this, CameraActivity.class);
startActivity(cameraIntent);

假设你有一个CameraActivity。

答案 1 :(得分:0)

如果密码正确,您可以通过登录方法中的意图简单地启动它:

if(username.getText().toString().equals("amirul") && 
  password.getText().toString().equals("aswa")){
  Toast.makeText(getApplicationContext(), "Redirecting...", 
  Toast.LENGTH_SHORT).show();

   Intent startCamIntent = new Intent(this, Camera.class);
    startActivity(startCamIntent);
 }  

不要忘记在清单中注册活动:

  <activity android:name=".Camera" />

注册:

  • 打开Android Manifest
  • 选择应用程序选项卡
  • 选择“添加”
  • 选择活动
  • 在右侧点击“浏览”

等待几秒钟,您的相机活动应该出现。选择并保存吧......完成

如果您使用Eclipse,则无需在AndroidManifest中注册活动,因为它会自动执行。

答案 2 :(得分:0)

你需要在登录按钮点击时启动相机消耗的意图:

    login.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
//validate username and pwd
                Intent intent = new Intent(this,Camera.class);
                startActivity(intent);


            }
        });

    }

答案 3 :(得分:0)

对于拒绝我编辑的人,我会在这里发布(因为我没有足够的分数而无法发表评论)

要添加Opiatefuchs,当您使用Eclipse时,您不需要注册新创建的活动,因为Eclipse会为您执行此操作。

这直接来自android开发网站:

必须使用<activity>元素在清单文件AndroidManifest.xml中声明所有活动。

使用Eclipse工具创建活动时,它会创建一个默认条目。如果您使用的是其他IDE,则需要自行添加清单条目。