如何解决我将视图膨胀了 5 次,膨胀的视图有一个 EditText,现在我在屏幕上有 5 个 EditText,如何从这些 EditText 中获取文本
public class MainActivity extends AppCompatActivity {
EditText EditText1,EditText2,EditText3,EditText4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText1 = findViewById(R.id.edittext);
EditText2 = findViewById(R.id.edittext);
EditText3 = findViewById(R.id.edittext);
EditText4 = findViewById(R.id.edittext);
addChildLayout();
addChildLayout();
addChildLayout();
addChildLayout();
}
public void addChildLayout(){
LayoutInflater layoutInfralte=(LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout linearLayout=(LinearLayout)findViewById(R.id.infolayout);
View view=layoutInfralte.inflate(R.layout.activity_main_layout,null);
linearLayout.addView(view);
}
}
如何从所有四个视图中选择 EditText 并显示它们,有什么想法吗?我可以在这里做什么?
解决方法
在每个 editText 引用上使用 .getText()
public class MainActivity extends AppCompatActivity {
EditText EditText1,EditText2,EditText3,EditText4;
List<EditText> list=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText1 = findViewById(R.id.edittext);
EditText2 = findViewById(R.id.edittext);
EditText3 = findViewById(R.id.edittext);
EditText4 = findViewById(R.id.edittext);
addChildLayout();
addChildLayout();
addChildLayout();
addChildLayout();
}
public void addChildLayout(){
LayoutInflater layoutInfralte=(LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout linearLayout=(LinearLayout)findViewById(R.id.infolayout);
View view=layoutInfralte.inflate(R.layout.activity_main_layout,null);
EditText inflatededitText=(EditText)view.findViewById(R.id.youredittextid);
list.add(inflatededitText);
linearLayout.addView(view);
}
}
现在你可以得到像下面这样的任何编辑文本
list.get(0).getText.toString
这里 0 是编辑文本的位置
如果你需要所有的edittext值,那么像这样使用for循环
for(int i=0;i<list.length;i++){
Log.d("value","list.get(i).getText.toString");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。