将文本视图更改为列表视图

时间:2011-05-18 21:42:15

标签: java android google-app-engine

我使用这个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();

1 个答案:

答案 0 :(得分:1)

您不能将所需的任何对象传递到ArrayAdapter。它期待一个字符串数组,并且你传递一个RestClient,所以适配器构造函数不知道如何处理它。

您需要做的是将您的服务器文本响应解析为可用格式(数组)