我收到了一条来自网络的信息。
该字符串与变量匹配。变量的类型为framelayout。
我有一个用framelayout调用的函数。
如何让函数接受传入字符串
@InjectView (R.id.printer45)
FrameLayout printer_45;
public static final List<String> RED = Arrays.asList("printer_45")
redLabelIcon(FrameLayout fL){
***create red icon***
}
String printer = data.getString("Printer")
String status = data.getString("Status")
**turn printer into frameLayout, somehow**
if (RED.contains(status)){
redLabelIcon(printer)
}
我要做的是什么,这样我才能研究它。
3条答案
按热度按时间mfuanj7w1#
您可以使用factorymethod模式来获得
bis0qfac2#
您所做的就是所谓的“Map”——例如,通常您会在哈希表中看到“键”/“值”对。或者你可以用
Map
或者使用case
语句或“else/if”。就你而言
List
对象没有“键”只有“值”,所以它不工作。您需要能够将一个“key”如“red”与一个值如“printer\ u45”相关联。如果你用了
Hashtable
然后不要使用“red”作为对象的名称,使用“printers”之类的名称,然后将“printer45”作为“value”,将“red”作为键。你也可以用一个Map
一两个Arrays
(一个“键”和一个“值”)或许多其他方式。3b6akqbq3#
您试图实现的目标称为Map:
同样地,您可以在一个字符串类型的键下将任意多个布局放入该Map中。稍后检索布局: