Android 如何使用if条件比较多个视图
我正在制作注册表格,其中我使用了四个线性布局,并使用视图将三个线性布局显示为下一个窗口。但我想超车 onBackPressed(){} 为此,我如何比较、如何扣除当前布局以及如何比较其余布局。这是我的xmlAndroid 如何使用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
<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();
}
}