2016-04-08 48 views
-1

我有一个Android应用程序的方法:使用散列映射作为参数调用Java方法

public void changeImageView (HashMap<String,String> Detail) 

我一直在试图调用在同一类的onCreate方法这个方法。

我曾尝试:

changeImageView(HashMap<String,String> Detail); 

这两者给我的错误。第一个给我一个错误,说明参数丢失 - 可以理解。但是当我尝试第二个版本时,出现HashMap<String,String>“预期表达式”错误。

我可能错过了一些非常明显的东西,并且一直无法在网上找到任何可以回答我的问题的东西。

+1

您需要提供一个'HashMap '对象。您可以使用'new HashMap ()' –

+0

创建一个空的哈希映射尝试'changeImageView(someMap);''其中'someMap'声明为'HashMap ' – codeMagic

+1

除了真诚之外,在继续进行Android编程之前,您需要阅读一个基本的Java教程和/或阅读一本关于学习Java的好书,否则您会很悲惨。 – codeMagic

回答

1

首先,创建一个HashMap<String, String>的实例。

Map<String, String> map = new HashMap<>(); 

在地图上填充或执行其他操作后,将其作为参数传递给您的方法。

changeImageView(map); 

我建议你阅读在Oracle教程约methods

+1

非常感谢!只要“时间障碍”接受失误,我会尽快接受你的回答:) – pantha

1

HashMap是java.util包中的一个集合类。

这里的一个方法changeImageView()有一个定义,它需要一个类型为[Generic Type:Google的HashMap对象以了解更多关于它的]的HashMap对象。

你需要创建一个HashMap对象:

Map<String,String> map=new HashMap<String,String>(); 

您可以按照下面给出的值添加到上面的HashMap:

map.add("key1","value1"); 
map.add("key2","value3"); 

根据您的要求。

changeImageView(map) 

好像你是一个新手Java和OOP,请参阅任何Java的基本教程:

现在下面给出你可以通过这个地图对象的changeImageView()方法。这将帮助你建立你的基本概念。