尝试验证3个编辑字段。 首先,字段1是可见的,并且在1字段2中输入文本后变得可见(在点击添加更多按钮之后),依此类推。 现在我一直坚持现场验证。
以下是我的尝试:
获取字段:
final EditText status = (EditText)layout.findViewById(R.id.edit_field);
final EditText status2 = (EditText)layout.findViewById(R.id.edit_field1);
final EditText status3 = (EditText)layout.findViewById(R.id.edit_field2);
监听器:
status.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s)
{
enableSubmitIfReady();
}
public void enableSubmitIfReady()
{
boolean Ready =status.getText().toString().length()>0;
if (Ready)
{
ADD_MORE.setVisibility(View.VISIBLE);
ADD_MORE.setEnabled(true);
} else {
ADD_MORE.setEnabled(false);
}
}
});
status2.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s)
{
enableSubmitIfReady();
}
public void enableSubmitIfReady()
{
boolean isReady =status.getText().toString().length()>0;
if (isReady) {
ADD_MORE.setVisibility(View.VISIBLE);
ADD_MORE.setEnabled(true);
} else {
ADD_MORE.setEnabled(false);
}
}
});
。
status3.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s)
{
ADD_MORE.setVisibility(View.GONE);
disable.setVisibility(View.VISIBLE);
}
});
ADD_MORE.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(status.getText().toString().length()>0)
{
second_layout.setVisibility(View.VISIBLE);
}
if(status2.getText().toString().length()>0)
{
third_layout.setVisibility(View.VISIBLE);
}
}
});
OK.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
String status_message = status.getText().toString();
String status_message2 = status2.getText().toString();
String status_message3 = status3.getText().toString();
Boolean isVisible,isvisible ;
isVisible = second_layout.isShown();
isvisible = third_layout.isShown();
if(status_message.matches(""))
{
MessageDialog.showMessage("Alert!",
"Please enter atleast one charcter", VideoPlaybackActivity.screen);
status.requestFocus();
}
else if(status_message2.matches("") & isVisible.equals("true"))
{
MessageDialog.showMessage("Alert!",
"Please enter atleast one charcter", VideoPlaybackActivity.screen);
status2.requestFocus();
}
else if(status_message3.matches("") & isvisible.equals("true"))
{
MessageDialog.showMessage("Alert!",
"Please enter atleast one charcter", VideoPlaybackActivity.screen);
status3.requestFocus();
}
else
{
alertDialog.dismiss();
Intent i=new Intent(getApplicationContext(),Tag.class);
startActivity(i);
overridePendingTransition(R.anim.animation,R.anim.animation2);
}
}
});
更多请看图片....(2和3最初是看不见的)
答案 0 :(得分:0)
动态添加编辑文字字段
//this is your main layout element where you want to add new edittext
LinearLayout ll = (LinearLayout)findViewById(R.id.mycontent);
LayoutInflater layoutInflater =(LayoutInflater) getBaseContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//This what you want to add so creat new layout for edittext
EditText addView = layoutInflater .inflate(R.layout.addlayout, null);
//call this method on button click
ll.addView(addView);
这是新的Edittext布局(addlayout):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sepmain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Add"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="19dp"
android:layout_toRightOf="@+id/textView1"
android:text="Tag"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/new"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/textView2"
android:ems="10" >
<requestFocus />
</EditText>
有关了解动态视图的更多信息,请查看以下链接: http://www.mysamplecode.com/2011/10/android-dynamic-layout-using-xml-add.html