在我的应用程序中有20个编辑文本,但我想计算填充的编辑文本,并且数据通过数组进行其他活动。就像我从20个填充3个编辑文本时那样,3个编辑文本数据进入下一页,3个计数作为int进入下一页。
这是我的第一个java课程
// pseudo
let a = {prop1: 'a', prop2: 'b', prop3: 'c'}
_.pickAs(a, {prop1: 'first', prop3: 'second'}
// {first: 'a', second: 'c'}
当我点击下一页提交20 show作为int。我想发送3data和3作为int。 请帮帮我
答案 0 :(得分:0)
正如您在评论中要求提供样本一样,我正在用样本发布我的答案。 在提交按钮的onclicklistener中,您可以添加以下代码。
myNoneEmptyEdittextCounter = 0;
for (int i=1;i<=no;i++)
{
myEt = (EditText) findViewById(i);
if(!TextUtils.isEmpty(myEt.getText().toString()))
{
myNoneEmptyEdittextCounter +=1;
}
}
//myNoneEmptyEdittextCounter is count of your filled edittexts
答案 1 :(得分:0)
此方法将返回数据列表,其大小将为您提供所需的int,即填充项的数量。
在提交按钮中单击
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(edittextValues().isEmpty()) {
//nothing has been filled
} else {
//items in edittextValues() are your data.
edittextValues().size();//this is your int which is number of edit text filled.
}
}
}
我在评论中已经提到了每个步骤的作用。希望这会有所帮助。
方法 edittextValues()
ArrayList<String> edittextValues() {
ArrayList<String> filledData = new ArrayList<>(); //initialise empty string array.
for (int i=1; i<=20; i++){ //loop through ids from 1 to 20
for (int j = 0; j< layout.getChildCount(); j++) { //loop through all the children of root layout
if(layout.getChildAt(j) instanceof EditText) { //filter EditText
EditText editText = (EditText) layout.getChildAt(j);
if(editText.getId() == i) { // filter the one which u programmatically added
if(!editText.getText().toString().isEmpty()) { // check if its not empty, that's the one you are looking
filledData.add(editText.getText().toString()); //add it to the list
}
}
}
}
}
return filledData; //return string list
}