【问题标题】:Android: How to direct to another page?Android:如何重定向到另一个页面?
【发布时间】:2014-10-01 13:49:33
【问题描述】:

嘿,很棒的编码天才!我是一名学生,正在做我最后一年的项目,我需要一些帮助。我希望你编码天才可以帮助! 单击登录按钮后,我想将我的 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);
        }
    }
}

我希望你们能帮助我!顺便说一句,这是我的第一篇文章!

【问题讨论】:

    标签: java android xml eclipse


    【解决方案1】:

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

    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:

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

    注册:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      假设你有一个 CameraActivity。

      【讨论】:

        【解决方案3】:

        您只需要在登录按钮点击时启动相机使用的意图:

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

        【讨论】:

          【解决方案4】:

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

          要添加 Opiatefuchs,当您使用 Eclipse 时,您不需要注册新创建的活动,因为 Eclipse 会为您完成这项工作。

          这直接来自 android 开发网站:

          所有活动都必须在清单文件 AndroidManifest.xml 中声明,使用 &lt;activity&gt; 元素。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-08-22
            • 1970-01-01
            • 2019-11-04
            • 1970-01-01
            • 1970-01-01
            • 2023-02-02
            相关资源
            最近更新 更多