我正在使用Universal Image Loader并从网址获取数据。 但我不知道如何获得String []的位置结果。
我的代码如下。它显示错误"未使用局部变量IMAGES的值"
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
final ViewHolder holder;
if (convertView == null) {
view = getActivity().getLayoutInflater().inflate(R.layout.fragment_monster_list_item, parent, false);
holder = new ViewHolder();
holder.text = (TextView) view.findViewById(R.id.text);
holder.image = (ImageView) view.findViewById(R.id.image);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
holder.text.setText("this is number "+ (position+1)+"photo" );
imageLoader.displayImage(IMAGES[position], holder.image, options, animateFirstListener);
return view;
}
class showTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
URL url = new URL("http://garyhui86.er-webs.com/monstersxml.php");
HttpURLConnection urlConn =
(HttpURLConnection)url.openConnection();
if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
DocumentBuilder builder = DocumentBuilderFactory
.newInstance().newDocumentBuilder();
Document document = builder.parse(urlConn.getInputStream());
NodeList nodeList = document.getElementsByTagName("Info");
for (int i = 0; i < nodeList.getLength(); i++) {
NamedNodeMap attributes=nodeList.item(i).getAttributes();
String monstersname=attributes.getNamedItem("monsters_name").getNodeValue();
String monstersimage=attributes.getNamedItem("monsters_image").getNodeValue();
Log.i("ttt", monstersname);
categoryList.add(monstersname);
Monsters_image.add(monstersimage);
}
}
urlConn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
String[] IMAGES = Monsters_image.toArray(new String[Monsters_image.size()]);
}
}
答案 0 :(得分:3)
IMAGES
从未被提及过。我猜您的代码尚未完成,否则您将没有未使用的变量。我敢打赌,如果你继续编写你的代码,你将使用该变量,并使警告消失。
我实际上并不理解你的代码,因为try
和catch
是我从未使用或被教过要使用的结构,但是在发出警告之前完成程序是一个好主意。顺便说一句,一旦你到了某个地方使用String[] IMAGES
,保存文档,因为否则编辑可能会记住错误&#34;并继续警告你。