如何从简单活动切换到抽屉活动?

时间:2016-03-31 02:59:24

标签: android

我是android新手。我想知道如何从简单的活动切换到抽屉活动。我读到有两种方法可以做到。

第一个是Intent i =new Intent("com.example.signin");

第二个是Intent i =new Intent(MainActivity.this,signin.class);

我试过了两个。但在第一种情况下,我的布局包含工具栏,抽屉和里面的按钮看起来很完美。但按钮功能不起作用。在第二种情况下,按钮功能正在工作,但布局受到干扰。

有人能告诉我这个问题的解决方案吗?我使用的是Android Studio。 这是我的代码:

MainActivity

package com.example.asus1.tlogin;

import android.content.Intent;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Layout;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button signInBtn;
    private Button signUpBtn;
    private Button submit;
    private EditText mUsername, mPassword;
    private Layout mDrawerLayout;

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

        signInBtn = (Button) findViewById(R.id.signin);
        signUpBtn = (Button) findViewById(R.id.signup);
        submit = (Button) findViewById(R.id.submit);
        mUsername = (EditText) findViewById(R.id.username);
        mPassword = (EditText) findViewById(R.id.password);

        //String userName = mUsername.getText().toString();
        // String password = mPassword.getText().toString();

        signUpBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent("com.example.asus1.tlogin.SignUpActivity");
                startActivity(intent);
            }
        });

        submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mUsername.getText().toString().isEmpty()) {
                    Toast.makeText(getApplicationContext(), "Please enter username..", Toast.LENGTH_SHORT).show();
                    mPassword.setText("");
                    mUsername.setText("");
                } else if (mPassword.getText().toString().isEmpty()) {
                    Toast.makeText(getApplicationContext(), "Please enter password..", Toast.LENGTH_SHORT).show();
                    mPassword.setText("");
                    mUsername.setText("");
                } else if (mUsername.getText().toString().equals("gaurav") && mPassword.getText().toString().equals("gaurav")) {
                    Toast.makeText(getApplicationContext(), "Login Successful..", Toast.LENGTH_LONG).show();

                    Intent intent = new Intent(MainActivity.this,ContentDrawer.class);
                    startActivity(intent);
                    setContentView(R.layout.content_drawer);

                } else {
                    Toast.makeText(getApplicationContext(), "Wrong username or password..", Toast.LENGTH_LONG).show();
                    mPassword.setText("");
                    mUsername.setText("");
                }
            }
        });
    }
}

ContentDrawer.java:

package com.example.asus1.tlogin;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.text.Layout;
import android.view.View;
import android.widget.Button;

public class ContentDrawer extends AppCompatActivity {
    private Button createBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_drawer);
        //Toolbar toolbar = (Toolbar)findViewById(R.id.draw);

        createBtn = (Button)findViewById(R.id.createBtn);
        createBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent1 = new Intent(getApplicationContext(),CreateGroup.class);
                startActivity(intent1);

            }
        });
    }
}

ContentDrawer.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.asus1.tlogin.DrawerActivity"
    tools:showIn="@layout/app_bar_drawer"
    android:orientation="vertical"
    android:weightSum="1"
    android:background="#ffffff">
    <Button
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:text="Create your personal profile"
        android:background="#d31313"
        android:textColor="#ffffff"
        android:textAllCaps="false"
        android:id="@+id/createBtn"
        android:clickable="false" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:orientation="horizontal"
        android:background="#f29494"
        android:clickable="true"
        android:id="@+id/linear">

        <Button
            android:layout_width="180dp"
            android:layout_height="match_parent"
            android:text="Join group"
            android:id="@+id/joinGroup"
            android:background="#984848"
            android:textAllCaps="false"
            android:clickable="true" />

        <Button
            android:layout_width="195dp"
            android:layout_height="match_parent"
            android:text="Setup a group"
            android:id="@+id/button2"
            android:background="#4e7db2"
            android:textAllCaps="false"
            android:clickable="true" />
    </LinearLayout>

    <Button
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:text="Setup an eventk"
        android:id="@+id/eventBtn"
        android:background="#e7ed21"
        android:textAllCaps="false"
        android:clickable="true" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:text="Notifications"
        android:id="@+id/button4"
        android:textAllCaps="false"
        android:background="#8b9ddb" />

</LinearLayout>

MainActivity.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:com.facebook.widget.LoginButtonandroid="http://schemas.android.com/apk/res-auto"
    tools:context="com.example.asus1.tlogin.MainActivity">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:src="@drawable/roomates1"
        android:id="@+id/imageView" />
        <LinearLayout android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="250dp"
            android:id="@+id/linearLayout">
            <Button
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:layout_alignBottom="@+id/imageView"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:id="@+id/signup"
                android:background="#0000"
                android:text="SIGN UP"
                android:textAlignment="gravity" />

            <Button
                android:layout_width="200dp"
                android:layout_height="40dp"
                android:id="@+id/signin"
                android:layout_alignBottom="@+id/imageView"
                android:layout_toRightOf="@+id/signup"
                android:layout_toEndOf="@+id/signup"
                android:background="#0000"
                android:text="             SIGN IN"
                android:textAlignment="textStart"
                android:textColor="#fefefe"
                android:textStyle="bold" />
            />
        </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/linearLayout"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:weightSum="1">

        <EditText
            android:layout_width="272dp"
            android:layout_height="wrap_content"
            android:inputType="textEmailAddress"
            android:ems="10"
            android:id="@+id/username"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="20dp"
            android:hint="Username"
            android:textAlignment="center" />

        <EditText
            android:layout_width="274dp"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:ems="10"
            android:id="@+id/password"
            android:layout_gravity="center_horizontal"
            android:hint="Password"
            android:textAlignment="center" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="SIGN IN"
            android:id="@+id/submit"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="20dp"
            android:background="@drawable/roundbutton"/>

    </LinearLayout>


</RelativeLayout>    

1 个答案:

答案 0 :(得分:0)

  

布局受到干扰

我假设你的意思是你完全取代了MainActivity的布局?

只要不这样做就可以解决这个问题。

Intent intent = new Intent(MainActivity.this,ContentDrawer.class);
startActivity(intent);

// Remove this line
/* setContentView(R.layout.content_drawer); */

除此之外,似乎你应该能够启动其他活动就好了。