我使用这个tutorial制作我的Android应用程序。我想在listview而不是文本视图中显示响应。现在我在服务器上检索一些我希望在列表中显示的值,可以看作是http://mediasense4.appspot.com
到目前为止我所做的改变是
package com.giantflyingsaucer;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class AndroidHTTPClient extends ListActivity
{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RestClient client = new RestClient("http://mediasense4.appspot.com");
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, client));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
}
}
但它在set list adapter上给出了错误,“构造函数ArrayAdapter(AndroidHTTPClient,int,RestClient)未定义”
我不确定我是否正确添加。请帮帮我
来自服务器的我正在以方式获取响应
PersistenceManager pm = PMF.get().getPersistenceManager();
String query = "select from " + MediaSenseDb.class.getName() ;
List<MediaSenseDb> greetings = (List<MediaSenseDb>) pm.newQuery(query).execute();
if (greetings.isEmpty()) {
} else {
for (MediaSenseDb g : greetings) {
resp.getWriter().println( g.getDevice_key());
}
}
pm.close();
答案 0 :(得分:1)
您不能将所需的任何对象传递到ArrayAdapter。它期待一个字符串数组,并且你传递一个RestClient,所以适配器构造函数不知道如何处理它。
您需要做的是将您的服务器文本响应解析为可用格式(数组)