gpt4 book ai didi

android - 访问动态文本字段值android

转载 作者:太空狗 更新时间:2023-10-29 15:53:26 24 4
gpt4 key购买 nike

我使用 foreach 循环创建了一些动态的 EditText 文件和一个按钮,代码如下:

void callDynamicView(){
String configText="Building Name, S, 10; No: of Floors, I, 3; Area of Plot, D, 10; Location(X), L, 15.3; Location(Y), L, 15.3; Photo, P, 10";

String[] splits = configText.split(";");
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);

TextView tv = new TextView(this);
tv.setText("Survey");
tv.setTextColor(Color.rgb(200,0,0));
ll.addView(tv);



for(String splitSemi: splits){

String[] splitsCommas = splitSemi.split(",");
int len = splitsCommas[1].length();

//Toast.makeText(getBaseContext(), len, Toast.LENGTH_SHORT).show();
if(splitsCommas[1].equals("P")){
Toast.makeText(getBaseContext(), "Keri", Toast.LENGTH_SHORT).show();
Button btn = new Button(this);
btn.setText("Photo");
ll.addView(btn);
//this.setContentView(sv);
}
else{

//Toast.makeText(getBaseContext(), "else", Toast.LENGTH_SHORT).show();
TextView txtv = new TextView(this);
txtv.setText(splitsCommas[0]);
ll.addView(txtv);

EditText et = new EditText(this);
ll.addView(et);

}


}

Button btn = new Button(this);
btn.setText("Submit");
ll.addView(btn);
this.setContentView(sv);

btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

// Toast.makeText(getBaseContext(), et.getText().toString(), Toast.LENGTH_SHORT).show();

}
});


}

我想在单击按钮时访问所有输入的值。但是我无法获得这些值。我检查了各种可能性。我不熟悉动态创建 UI。可以帮助我吗?

最佳答案

按如下方式设置 EditText 的 ID...并将这些 ID 存储在 List 中以便稍后检索它们。

 List<Integer> editTextIdList = new ArrayList<Integer>();
int id = 0;

for(String splitSemi: splits){

String[] splitsCommas = splitSemi.split(",");
int len = splitsCommas[1].length();

//Toast.makeText(getBaseContext(), len, Toast.LENGTH_SHORT).show();
if(splitsCommas[1].equals("P")){

.....
}
else{

//Toast.makeText(getBaseContext(), "else", Toast.LENGTH_SHORT).show();
TextView txtv = new TextView(this);
txtv.setText(splitsCommas[0]);
ll.addView(txtv);

EditText et = new EditText(this);
et.seId(id);
editTextIdList.add(id);
ll.addView(et);

id++;

}
}

OnClickListener 中...使用这些 ID 创建 EditText 实例并获取其文本如下...

   btn.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

for(int i = 0; i < editTextIdList.size(); i++) {

EditText editText = (EditText)findViewById(editTextIdList.get(i));
String text = editText.getText().toString();

}

// Toast.makeText(getBaseContext(), et.getText().toString(), Toast.LENGTH_SHORT).show();

}
});

关于android - 访问动态文本字段值android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com