java - 我将视图膨胀了 5 次,膨胀的视图有一个 EditText,现在我在屏幕上有 5 个 EditText,如何从这些 EditTexts 中获取文本
问题描述
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 并显示它们,有什么想法吗?我能在这里做什么?
我想从 4 个 EditTexts 中的每一个中获取数据
解决方案
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的位置
如果你需要所有的edittext值然后使用for循环这样
for(int i=0;i<list.length;i++){
Log.d("value","list.get(i).getText.toString");
}
推荐阅读
- django - DJANGO:同时多次点击一个api
- obiee - 什么是 obiee 中的性能调整以及我们如何解决这个问题的过程是什么?帮我举个例子,谢谢
- javascript - react js中的滑块问题
- typescript -
带有 Typescript 的 NextJs 中的标签未显示任何 PostLink,如教程所示 - git - 使用特定补丁编号应用一系列补丁
- swift - 如何在swift中每1小时生成一个随机字符串?
- xcode - 如何在不阻塞主线程的情况下在 Xcode 中执行延迟、单元测试?
- c# - 在 Azure 门户中的何处查找日志信息
- c# - 在 dotnet/core/runtime-deps:2.2-alpine3.9 上使用 grpc got symbol not found 错误
- html - 如何将两个属性值连接到 Angular 7 数据表的单个数据表列中?(例如:名字和姓氏放在一列)