为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java Android 中分配动态名称?

如何在 Java Android 中分配动态名称?

翻阅古今 2021-09-03 15:40:50
您如何使用仅在运行时已知的名称来初始化一个TextView或任何其他Android组件的名称?例如:LinearLayout linLayout = (LinearLayout) findViewById(R.id.dynamicLayout);linLayout.setOrientation(LinearLayout.VERTICAL);for(int i = 1; i < 5; i++){            String dynamic_name = "myTextView"+i;            //Create new textView named dynamically            TextView dynamic_name = new TextView(this);            //style textView here etc            linLayout.addView(dynamic_name);        }
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

您如何初始化 textView 或任何其他仅在运行时才知道名称的 Android 组件的名称?

你不能。

TextView this_variable_changes在编译时定义,而String this_variable_changes在运行时更改。

那么如何根据一个只能在运行时知道的数字来创建可变数量的textViews呢?

TextView在运行时获得s的数量后,以编程方式创建那么多的TextViews 并将它们添加到布局中。

由于上述原因,您不需要动态名称。您可以做的是将接收到的数量映射到相应的TextViews数量,即Map与索引到接收到的数量和TextViews 的值的键一起使用。


查看完整回答
反对 回复 2021-09-03
?
UYOU

TA贡献1878条经验 获得超4个赞

在 Java 中,但您可以创建 Maps 或 Arrays 来处理您的特定问题。当您遇到让您认为“我需要我的变量动态更改名称”的问题时,您应该尝试考虑“关联数组”。在 Java 中,您可以使用Maps获得关联数组。


也就是说,您可以保留一个数组列表,例如:


List<String[]> kList = new ArrayList<String[]>();

for(int k = 0; k < 5; k++){

   kList.add(new String[3]);

}

或者也许更接近你所追求的,你可以使用地图:


Map<Integer,String[]> kMap = new HashMap<Integer,String[]>();

for(int k = 0; k < 5; k++){

  kMap.put(k, new String[3]);

}

// access using kMap.get(0) etc..


查看完整回答
反对 回复 2021-09-03
?
慕沐林林

TA贡献2016条经验 获得超9个赞

对我来说,简单的解决方案是转到您的 cmd 类型 ipconfig 复制您的 IP v4 地址并粘贴到 android 模拟器主机中

http://your-ip-v4-address:3000/


查看完整回答
反对 回复 2021-09-03
  • 3 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信