Android 如何使用if条件比较多个视图

Android 如何使用if条件比较多个视图,android,android-layout,android-view,Android,Android Layout,Android View,我正在制作注册表格,其中我使用了四个线性布局,并使用视图将三个线性布局显示为下一个窗口。但我想超车 onBackPressed(){} 为此,我如何比较、如何扣除当前布局以及如何比较其余布局。这是我的xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:lay

我正在制作注册表格,其中我使用了四个线性布局,并使用视图将三个线性布局显示为下一个窗口。但我想超车 onBackPressed(){} 为此,我如何比较、如何扣除当前布局以及如何比较其余布局。这是我的xml

    <LinearLayout 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"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:id="@+id/PD"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Gender*" />

                <Button
                    android:id="@+id/next"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:onClick="Next"
                    android:text="NEXT" />
            </LinearLayout>
        </ScrollView>
        </LinearLayout>

    <LinearLayout
        android:id="@+id/layout2"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:id="@+id/PD1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="FirstName1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="LastName1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Email1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Password1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="ConfirmPassword1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:hint="DateofBirth1*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Gender1*" />

                <Button
                    android:id="@+id/next2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:onClick="Next2"
                    android:text="NEXT" />
            </LinearLayout>
        </ScrollView>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout3"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <ScrollView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:id="@+id/PD1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="FirstName2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="LastName2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Email2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Password2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="ConfirmPassword2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:hint="DateofBirth2*" />

                <EditText
                    android:id="@+id/FN"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:hint="Gender2*" />

                <Button
                    android:id="@+id/next"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:onClick="Next3"
                    android:text="NEXT" />
            </LinearLayout>
        </ScrollView>
    </LinearLayout>

</LinearLayout>
请帮我解决这个问题。我很抱歉我的英语不好

@Override
public void onBackPressed() {
    if(LL3.getVisibility() == View.VISIBLE){
        LL3.setVisibility(View.GONE);
        LL2.setVisibility(View.VISIBLE);
    }else if(LL2.getVisibility() == View.VISIBLE){
        LL2.setVisibility(View.GONE);
        LL1.setVisibility(View.VISIBLE);
    }else{
        super.onBackPressed();
    }
}
onCreate()中获取LL1、LL2、LL3


我相信这样的方法可以奏效:

private int mPosition = 0; 
private View[] mPages;     // instantiate and populate this in onCreate

private void showNext() {
  show(false, mPages[mPosition]);
  show(true, mPages[++mPosition]);
}

private void showPrevious() {
  show(false, mPages[mPosition]);
  show(true, mPages[--mPosition]);
}

@Override 
public void onBackPressed() {
  showPrevious();
}

private static void show(final boolean show, final View view) {
  final int visibility = show ? View.VISIBLE : View.GONE;
  view.setVisibility(visibility);
}

当然,您必须确保
mPosition
已正确绑定

试试这种方法,希望这能帮助你解决问题。

活动\u main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:padding="5dp">

            <LinearLayout
                android:id="@+id/layout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <EditText
                    android:id="@+id/edtFirstName1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/layout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">

                <EditText
                    android:id="@+id/edtFirstName2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/layout3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">

                <EditText
                    android:id="@+id/edtFirstName3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
    <Button
        android:id="@+id/btnNextFinish"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"/>

</LinearLayout>

MainActivity.java

public class MainActivity extends Activity{

    private LinearLayout layout1;
    private LinearLayout layout2;
    private LinearLayout layout3;

    private EditText edtFirstName1;
    private EditText edtLastName1;
    private EditText edtEmail1;
    private EditText edtPassword1;
    private EditText edtConfirmPassword1;
    private EditText edtDateOfBirth1;
    private EditText edtGender1;

    private EditText edtFirstName2;
    private EditText edtLastName2;
    private EditText edtEmail2;
    private EditText edtPassword2;
    private EditText edtConfirmPassword2;
    private EditText edtDateOfBirth2;
    private EditText edtGender2;

    private EditText edtFirstName3;
    private EditText edtLastName3;
    private EditText edtEmail3;
    private EditText edtPassword3;
    private EditText edtConfirmPassword3;
    private EditText edtDateOfBirth3;
    private EditText edtGender3;

    private Button btnNextFinish;

    private ArrayList<HashMap<String,String>> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        layout1 = (LinearLayout)findViewById(R.id.layout1);
        layout2 = (LinearLayout)findViewById(R.id.layout2);
        layout3 = (LinearLayout)findViewById(R.id.layout3);
        btnNextFinish = (Button)findViewById(R.id.btnNextFinish);

        edtFirstName1 = (EditText)findViewById(R.id.edtFirstName1);
        edtLastName1 = (EditText)findViewById(R.id.edtLastName1);
        edtEmail1 = (EditText)findViewById(R.id.edtEmail1);
        edtPassword1 = (EditText)findViewById(R.id.edtPassword1);
        edtConfirmPassword1 = (EditText)findViewById(R.id.edtConfirmPassword1);
        edtDateOfBirth1 = (EditText)findViewById(R.id.edtDateOfBirth1);
        edtGender1 = (EditText)findViewById(R.id.edtGender1);

        edtFirstName2 = (EditText)findViewById(R.id.edtFirstName2);
        edtLastName2 = (EditText)findViewById(R.id.edtLastName2);
        edtEmail2 = (EditText)findViewById(R.id.edtEmail2);
        edtPassword2 = (EditText)findViewById(R.id.edtPassword2);
        edtConfirmPassword2 = (EditText)findViewById(R.id.edtConfirmPassword2);
        edtDateOfBirth2 = (EditText)findViewById(R.id.edtDateOfBirth2);
        edtGender2 = (EditText)findViewById(R.id.edtGender2);

        edtFirstName3 = (EditText)findViewById(R.id.edtFirstName3);
        edtLastName3 = (EditText)findViewById(R.id.edtLastName3);
        edtEmail3 = (EditText)findViewById(R.id.edtEmail3);
        edtPassword3 = (EditText)findViewById(R.id.edtPassword3);
        edtConfirmPassword3 = (EditText)findViewById(R.id.edtConfirmPassword3);
        edtDateOfBirth3 = (EditText)findViewById(R.id.edtDateOfBirth3);
        edtGender3 = (EditText)findViewById(R.id.edtGender3);

        btnNextFinish = (Button)findViewById(R.id.btnNextFinish);
        btnNextFinish.setText("Next");
        btnNextFinish.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isValidate=true;

                if(layout1.getVisibility() == View.VISIBLE) {
                    if (edtFirstName1.getText().toString().trim().length() <= 0) {
                        edtFirstName1.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName1.getText().toString().trim().length() <= 0) {
                        edtLastName1.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword1.getText().toString().trim().length() <= 0) {
                        edtPassword1.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword1.getText().toString().trim().equals(edtPassword1.getText().toString().trim())) {
                        edtConfirmPassword1.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth1.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth1.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail1.getText().toString().trim().length() <= 0) {
                        edtEmail1.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail1.getText().toString().trim())) {
                        edtPassword2.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender1.getText().toString().trim().length() <= 0) {
                        edtGender1.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        layout1.setVisibility(View.GONE);
                        layout2.setVisibility(View.VISIBLE);
                        layout3.setVisibility(View.GONE);
                        HashMap<String, String> map1 = new HashMap<String, String>();
                        map1.put("FirstName", edtFirstName1.getText().toString());
                        map1.put("LastName", edtLastName1.getText().toString());
                        map1.put("Email", edtEmail1.getText().toString());
                        map1.put("Password", edtPassword1.getText().toString());
                        map1.put("DateOfBirth", edtDateOfBirth1.getText().toString());
                        map1.put("Gender", edtGender1.getText().toString());
                        data.add(0, map1);
                    }
                }else if(layout2.getVisibility() == View.VISIBLE) {
                    if (edtFirstName2.getText().toString().trim().length() <= 0) {
                        edtFirstName2.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName2.getText().toString().trim().length() <= 0) {
                        edtLastName2.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword2.getText().toString().trim().length() <= 0) {
                        edtPassword2.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword2.getText().toString().trim().equals(edtPassword2.getText().toString().trim())) {
                        edtConfirmPassword2.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth2.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth2.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail2.getText().toString().trim().length() <= 0) {
                        edtEmail2.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail2.getText().toString().trim())) {
                        edtPassword2.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender2.getText().toString().trim().length() <= 0) {
                        edtGender2.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        layout1.setVisibility(View.GONE);
                        layout2.setVisibility(View.GONE);
                        layout3.setVisibility(View.VISIBLE);
                        HashMap<String, String> map2 = new HashMap<String, String>();
                        map2.put("FirstName", edtFirstName2.getText().toString());
                        map2.put("LastName", edtLastName2.getText().toString());
                        map2.put("Email", edtEmail2.getText().toString());
                        map2.put("Password", edtPassword2.getText().toString());
                        map2.put("DateOfBirth", edtDateOfBirth2.getText().toString());
                        map2.put("Gender", edtGender2.getText().toString());
                        data.add(1, map2);
                        btnNextFinish.setText("Finish");
                    }
                }else{
                    if (edtFirstName3.getText().toString().trim().length() <= 0) {
                        edtFirstName3.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName3.getText().toString().trim().length() <= 0) {
                        edtLastName3.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword3.getText().toString().trim().length() <= 0) {
                        edtPassword3.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword3.getText().toString().trim().equals(edtPassword3.getText().toString().trim())) {
                        edtConfirmPassword3.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth3.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth3.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail3.getText().toString().trim().length() <= 0) {
                        edtEmail3.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail3.getText().toString().trim())) {
                        edtPassword3.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender3.getText().toString().trim().length() <= 0) {
                        edtGender3.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        HashMap<String, String> map3 = new HashMap<String, String>();
                        map3.put("FirstName", edtFirstName3.getText().toString());
                        map3.put("LastName", edtLastName3.getText().toString());
                        map3.put("Email", edtEmail3.getText().toString());
                        map3.put("Password", edtPassword3.getText().toString());
                        map3.put("DateOfBirth", edtDateOfBirth3.getText().toString());
                        map3.put("Gender", edtGender3.getText().toString());
                        data.add(2, map3);
                    }
                }
            }
        });
        data = new ArrayList<HashMap<String, String>>();

    }

    @Override
    public void onBackPressed() {
        if(layout3.getVisibility() == View.VISIBLE){
            layout2.setVisibility(View.VISIBLE);
            layout1.setVisibility(View.GONE);
            layout3.setVisibility(View.GONE);
            btnNextFinish.setText("Next");
        }else if(layout2.getVisibility() == View.VISIBLE){
            layout1.setVisibility(View.VISIBLE);
            layout2.setVisibility(View.GONE);
            layout3.setVisibility(View.GONE);
            btnNextFinish.setText("Next");
        }else{
            super.onBackPressed();
        }
    }

    public boolean emailValidator(final String mailAddress) {
        Pattern pattern;
        Matcher matcher;
        final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
                + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
        pattern = Pattern.compile(EMAIL_PATTERN);
        matcher = pattern.matcher(mailAddress);
        return matcher.matches();

    }

}
公共类MainActivity扩展活动{
私人线路布局1;
私人线路布局2;
私人线路布局3;
私人编辑文本名1;
私有EditText edtLastName1;
私人编辑文本1;
私有编辑文本和密码1;
私人编辑文本edtConfirmPassword1;
私人编辑文本:出生日期1;
私人编辑文本edtGender1;
私人编辑文本和名字2;
私有EditText edtLastName2;
私人编辑文本2;
私有编辑文本和密码2;
私人编辑文本edtConfirmPassword2;
私人编辑文本:出生日期2;
私人编辑文本2;
私人编辑文本名3;
私有EditText edtLastName3;
私人编辑文本3;
私有编辑文本和密码3;
私人编辑文本edtConfirmPassword3;
私人编辑文本:出生日期3;
私人编辑文本,性别3;
私人按钮btnNextFinish;
私有数组列表数据;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout1=(LinearLayout)findViewById(R.id.layout1);
layout2=(LinearLayout)findViewById(R.id.layout2);
layout3=(LinearLayout)findViewById(R.id.layout3);
btnNextFinish=(按钮)findViewById(R.id.btnNextFinish);
edtFirstName1=(EditText)findViewById(R.id.edtFirstName1);
edtLastName1=(EditText)findViewById(R.id.edtLastName1);
edtEmail1=(EditText)findViewById(R.id.edtEmail1);
edtPassword1=(EditText)findViewById(R.id.edtPassword1);
edtConfirmPassword1=(EditText)findViewById(R.id.edtConfirmPassword1);
edtDateOfBirth1=(EditText)findViewById(R.id.edtDateOfBirth1);
edtGender1=(EditText)findViewById(R.id.edtGender1);
edtFirstName2=(EditText)findViewById(R.id.edtFirstName2);
edtLastName2=(EditText)findViewById(R.id.edtLastName2);
edtEmail2=(EditText)findViewById(R.id.edtEmail2);
edtPassword2=(EditText)findViewById(R.id.edtPassword2);
edtConfirmPassword2=(EditText)findViewById(R.id.edtConfirmPassword2);
edtDateOfBirth2=(EditText)findViewById(R.id.edtDateOfBirth2);
edtGender2=(EditText)findViewById(R.id.edtGender2);
edtFirstName3=(EditText)findViewById(R.id.edtFirstName3);
edtLastName3=(EditText)findViewById(R.id.edtLastName3);
edtEmail3=(EditText)findViewById(R.id.edtEmail3);
edtPassword3=(EditText)findViewById(R.id.edtPassword3);
edtConfirmPassword3=(EditText)findViewById(R.id.edtConfirmPassword3);
edtDateOfBirth3=(EditText)findViewById(R.id.edtDateOfBirth3);
edtGender3=(EditText)findViewById(R.id.edtGender3);
btnNextFinish=(按钮)findViewById(R.id.btnNextFinish);
btnNextFinish.setText(“下一步”);
btnNextFinish.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
布尔值isValidate=true;
if(layout1.getVisibility()==View.VISIBLE){

if(edtFirstName1.getText().toString().trim().length()但是getVisibility()是一个Int-only的方法na@Archie.bpgc..当我在if循环中得到类似“getVisibility无法解析或不是字段”的错误时,if循环的外侧是ok的..public void onBackPressed(){if(l3.getVisibility==View.VISIBLE){l3.setVisibility(View.GONE);l2.setVisibility(View.VISIBLE);}else if(l2.getVisibility==View.VISIBLE){l2.setVisibility(View.GONE);l1.setVisibility(View.VISIBLE);}else{super.onBackPressed();}在oncreate中,我实例化了l1、l2、l3。在此过程中,getVisibility出现错误。如前一篇博文所示,它应该是
getVisibility()
这是一个方法。我的坏>。很抱歉,伙计..在将(l3.getVisibility==VIEW.VISIBLE)替换为(l3.getVisibility()==VIEW.VISIBLE)之后.我的代码正常工作了。非常感谢,伙计…..老板,我无法使用你的代码。我是android新手。你能解释一下如何使用@curtisLoew吗
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:padding="5dp">

            <LinearLayout
                android:id="@+id/layout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <EditText
                    android:id="@+id/edtFirstName1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/layout2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">

                <EditText
                    android:id="@+id/edtFirstName2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/layout3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">

                <EditText
                    android:id="@+id/edtFirstName3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="FirstName*" />

                <EditText
                    android:id="@+id/edtLastName3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="LastName*" />

                <EditText
                    android:id="@+id/edtEmail3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textEmailAddress"
                    android:hint="Email*" />

                <EditText
                    android:id="@+id/edtPassword3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="Password*" />

                <EditText
                    android:id="@+id/edtConfirmPassword3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="textPassword"
                    android:hint="ConfirmPassword*" />

                <EditText
                    android:id="@+id/edtDateOfBirth3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:inputType="date"
                    android:hint="DateofBirth*" />

                <EditText
                    android:id="@+id/edtGender3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:hint="Gender*" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>
    <Button
        android:id="@+id/btnNextFinish"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"/>

</LinearLayout>
public class MainActivity extends Activity{

    private LinearLayout layout1;
    private LinearLayout layout2;
    private LinearLayout layout3;

    private EditText edtFirstName1;
    private EditText edtLastName1;
    private EditText edtEmail1;
    private EditText edtPassword1;
    private EditText edtConfirmPassword1;
    private EditText edtDateOfBirth1;
    private EditText edtGender1;

    private EditText edtFirstName2;
    private EditText edtLastName2;
    private EditText edtEmail2;
    private EditText edtPassword2;
    private EditText edtConfirmPassword2;
    private EditText edtDateOfBirth2;
    private EditText edtGender2;

    private EditText edtFirstName3;
    private EditText edtLastName3;
    private EditText edtEmail3;
    private EditText edtPassword3;
    private EditText edtConfirmPassword3;
    private EditText edtDateOfBirth3;
    private EditText edtGender3;

    private Button btnNextFinish;

    private ArrayList<HashMap<String,String>> data;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        layout1 = (LinearLayout)findViewById(R.id.layout1);
        layout2 = (LinearLayout)findViewById(R.id.layout2);
        layout3 = (LinearLayout)findViewById(R.id.layout3);
        btnNextFinish = (Button)findViewById(R.id.btnNextFinish);

        edtFirstName1 = (EditText)findViewById(R.id.edtFirstName1);
        edtLastName1 = (EditText)findViewById(R.id.edtLastName1);
        edtEmail1 = (EditText)findViewById(R.id.edtEmail1);
        edtPassword1 = (EditText)findViewById(R.id.edtPassword1);
        edtConfirmPassword1 = (EditText)findViewById(R.id.edtConfirmPassword1);
        edtDateOfBirth1 = (EditText)findViewById(R.id.edtDateOfBirth1);
        edtGender1 = (EditText)findViewById(R.id.edtGender1);

        edtFirstName2 = (EditText)findViewById(R.id.edtFirstName2);
        edtLastName2 = (EditText)findViewById(R.id.edtLastName2);
        edtEmail2 = (EditText)findViewById(R.id.edtEmail2);
        edtPassword2 = (EditText)findViewById(R.id.edtPassword2);
        edtConfirmPassword2 = (EditText)findViewById(R.id.edtConfirmPassword2);
        edtDateOfBirth2 = (EditText)findViewById(R.id.edtDateOfBirth2);
        edtGender2 = (EditText)findViewById(R.id.edtGender2);

        edtFirstName3 = (EditText)findViewById(R.id.edtFirstName3);
        edtLastName3 = (EditText)findViewById(R.id.edtLastName3);
        edtEmail3 = (EditText)findViewById(R.id.edtEmail3);
        edtPassword3 = (EditText)findViewById(R.id.edtPassword3);
        edtConfirmPassword3 = (EditText)findViewById(R.id.edtConfirmPassword3);
        edtDateOfBirth3 = (EditText)findViewById(R.id.edtDateOfBirth3);
        edtGender3 = (EditText)findViewById(R.id.edtGender3);

        btnNextFinish = (Button)findViewById(R.id.btnNextFinish);
        btnNextFinish.setText("Next");
        btnNextFinish.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean isValidate=true;

                if(layout1.getVisibility() == View.VISIBLE) {
                    if (edtFirstName1.getText().toString().trim().length() <= 0) {
                        edtFirstName1.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName1.getText().toString().trim().length() <= 0) {
                        edtLastName1.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword1.getText().toString().trim().length() <= 0) {
                        edtPassword1.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword1.getText().toString().trim().equals(edtPassword1.getText().toString().trim())) {
                        edtConfirmPassword1.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth1.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth1.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail1.getText().toString().trim().length() <= 0) {
                        edtEmail1.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail1.getText().toString().trim())) {
                        edtPassword2.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender1.getText().toString().trim().length() <= 0) {
                        edtGender1.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        layout1.setVisibility(View.GONE);
                        layout2.setVisibility(View.VISIBLE);
                        layout3.setVisibility(View.GONE);
                        HashMap<String, String> map1 = new HashMap<String, String>();
                        map1.put("FirstName", edtFirstName1.getText().toString());
                        map1.put("LastName", edtLastName1.getText().toString());
                        map1.put("Email", edtEmail1.getText().toString());
                        map1.put("Password", edtPassword1.getText().toString());
                        map1.put("DateOfBirth", edtDateOfBirth1.getText().toString());
                        map1.put("Gender", edtGender1.getText().toString());
                        data.add(0, map1);
                    }
                }else if(layout2.getVisibility() == View.VISIBLE) {
                    if (edtFirstName2.getText().toString().trim().length() <= 0) {
                        edtFirstName2.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName2.getText().toString().trim().length() <= 0) {
                        edtLastName2.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword2.getText().toString().trim().length() <= 0) {
                        edtPassword2.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword2.getText().toString().trim().equals(edtPassword2.getText().toString().trim())) {
                        edtConfirmPassword2.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth2.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth2.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail2.getText().toString().trim().length() <= 0) {
                        edtEmail2.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail2.getText().toString().trim())) {
                        edtPassword2.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender2.getText().toString().trim().length() <= 0) {
                        edtGender2.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        layout1.setVisibility(View.GONE);
                        layout2.setVisibility(View.GONE);
                        layout3.setVisibility(View.VISIBLE);
                        HashMap<String, String> map2 = new HashMap<String, String>();
                        map2.put("FirstName", edtFirstName2.getText().toString());
                        map2.put("LastName", edtLastName2.getText().toString());
                        map2.put("Email", edtEmail2.getText().toString());
                        map2.put("Password", edtPassword2.getText().toString());
                        map2.put("DateOfBirth", edtDateOfBirth2.getText().toString());
                        map2.put("Gender", edtGender2.getText().toString());
                        data.add(1, map2);
                        btnNextFinish.setText("Finish");
                    }
                }else{
                    if (edtFirstName3.getText().toString().trim().length() <= 0) {
                        edtFirstName3.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtLastName3.getText().toString().trim().length() <= 0) {
                        edtLastName3.setError("Value Required");
                        isValidate = false;
                    }
                    if (edtPassword3.getText().toString().trim().length() <= 0) {
                        edtPassword3.setError("Value Required");
                        isValidate = false;
                    } else if (!edtConfirmPassword3.getText().toString().trim().equals(edtPassword3.getText().toString().trim())) {
                        edtConfirmPassword3.setError("Invalid Confirm Password");
                        isValidate = false;
                    }

                    if (edtDateOfBirth3.getText().toString().trim().length() <= 0) {
                        edtDateOfBirth3.setError("Value Required");
                        isValidate = false;
                    }

                    if (edtEmail3.getText().toString().trim().length() <= 0) {
                        edtEmail3.setError("Value Required");
                        isValidate = false;
                    } else if (!emailValidator(edtEmail3.getText().toString().trim())) {
                        edtPassword3.setError("Invalid Email");
                        isValidate = false;
                    }

                    if (edtGender3.getText().toString().trim().length() <= 0) {
                        edtGender3.setError("Value Required");
                        isValidate = false;
                    }

                    if (isValidate) {
                        HashMap<String, String> map3 = new HashMap<String, String>();
                        map3.put("FirstName", edtFirstName3.getText().toString());
                        map3.put("LastName", edtLastName3.getText().toString());
                        map3.put("Email", edtEmail3.getText().toString());
                        map3.put("Password", edtPassword3.getText().toString());
                        map3.put("DateOfBirth", edtDateOfBirth3.getText().toString());
                        map3.put("Gender", edtGender3.getText().toString());
                        data.add(2, map3);
                    }
                }
            }
        });
        data = new ArrayList<HashMap<String, String>>();

    }

    @Override
    public void onBackPressed() {
        if(layout3.getVisibility() == View.VISIBLE){
            layout2.setVisibility(View.VISIBLE);
            layout1.setVisibility(View.GONE);
            layout3.setVisibility(View.GONE);
            btnNextFinish.setText("Next");
        }else if(layout2.getVisibility() == View.VISIBLE){
            layout1.setVisibility(View.VISIBLE);
            layout2.setVisibility(View.GONE);
            layout3.setVisibility(View.GONE);
            btnNextFinish.setText("Next");
        }else{
            super.onBackPressed();
        }
    }

    public boolean emailValidator(final String mailAddress) {
        Pattern pattern;
        Matcher matcher;
        final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
                + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
        pattern = Pattern.compile(EMAIL_PATTERN);
        matcher = pattern.matcher(mailAddress);
        return matcher.matches();

    }

}