3 回答
TA贡献1155条经验 获得超0个赞
你可以像这样在 Activity 中做到这一点..但是你必须添加
android:tag="et"在布局的所有 Edittext 字段中..相应地更改代码中的父布局类型。它按测试工作..
public class MainActivity extends AppCompatActivity {
int count=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout parentLayout = (LinearLayout) findViewById(R.id.linearLayout);
int elements = parentLayout.getChildCount();
View v = null;
for(int i=0; i<elements; i++) {
v = parentLayout.getChildAt(i);
if(v.getTag()!=null && v.getTag().equals("et")){
count= count++;
}
}
}
}
在计数的基础上,您可以做出决定。
TA贡献1796条经验 获得超4个赞
我目前没有 Android SDK,所以可能会有一些错误,但你可以尝试这样的事情:-
long numberOfFilledFields = Stream.of(
editText1.getText().toString(),
editText2.getText().toString(),
editText3.getText().toString()) //you can add as many as you want here
.filter(s -> !s.isEmpty())
.count();
switch (numberOfFilledFields) {
case 0:
//start activity 1
break;
case 1:
//start activity 2
break;
.
.
.
}
TA贡献1805条经验 获得超10个赞
您可以使用一些标志来设置填充的 editText 字段的计数。
将所有 editText 引用添加到 List。并使用以下方法获取计数。
int count =0;
private int getEditTextViewCount(List<EditText> editTexts){
for(EditText editText : editTexts){
if(!editText.getText().toString().isEmpty()){
count++;
}
}
return count;
}
添加回答
举报