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

您如何使用仅在运行时已知的名称来初始化一个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);

        }


翻阅古今
浏览 140回答 3
3回答

青春有我

您如何初始化 textView 或任何其他仅在运行时才知道名称的 Android 组件的名称?你不能。TextView this_variable_changes在编译时定义,而String this_variable_changes在运行时更改。那么如何根据一个只能在运行时知道的数字来创建可变数量的textViews呢?TextView在运行时获得s的数量后,以编程方式创建那么多的TextViews 并将它们添加到布局中。由于上述原因,您不需要动态名称。您可以做的是将接收到的数量映射到相应的TextViews数量,即Map与索引到接收到的数量和TextViews 的值的键一起使用。

UYOU

在 Java 中,但您可以创建 Maps 或 Arrays 来处理您的特定问题。当您遇到让您认为“我需要我的变量动态更改名称”的问题时,您应该尝试考虑“关联数组”。在 Java 中,您可以使用Maps获得关联数组。也就是说,您可以保留一个数组列表,例如:List<String[]> kList = new ArrayList<String[]>();for(int k = 0; k < 5; k++){&nbsp; &nbsp;kList.add(new String[3]);}或者也许更接近你所追求的,你可以使用地图:Map<Integer,String[]> kMap = new HashMap<Integer,String[]>();for(int k = 0; k < 5; k++){&nbsp; kMap.put(k, new String[3]);}// access using kMap.get(0) etc..

慕沐林林

对我来说,简单的解决方案是转到您的 cmd 类型 ipconfig 复制您的 IP v4 地址并粘贴到 android 模拟器主机中http://your-ip-v4-address:3000/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java