android listview下方数据不显示,ListView数据不显示在android sdk上

我正在创建一个应用程序,并且我有一个名为SearchActivity的活动。我有两个自定义ListView,一个很好。我的问题是与AdapterEventos一起使用的列表。当我启动应用程序时,此列表中不会显示任何内容该列表中的数据是从Post(DescarregarEventos方法)中添加的,我认为问题是因为ArrayAdapter eventos为空。如果您看到我的代码[1],则在此列表的setAdapter之前打印的日志将返回空白。有人知道我能如何解决这个问题吗? 我已经看到POST返回请求的所有数据。ListView数据不显示在android sdk上

感谢

相关代码:

public class SearchActivity extends ListActivity {

public ArrayList eventos = new ArrayList();

static final String TAG = "AsyncTaskParseJson.java";

static final HttpClient httpclient = new DefaultHttpClient();

public class Evento {

public String nome;

public String local;

public String inicio;

public Evento(String nome, String local, String inicio) {

this.nome = nome;

this.local = local;

this.inicio = inicio;

}

public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}

public String getLocal() {

return local;

}

public void setLocal(String local) {

this.local = local;

}

public String getInicio() {

return inicio;

}

public void setInicio(String inicio) {

this.inicio = inicio;

}

}

public class AdapterEventos extends ArrayAdapter {

private final Context context;

private final ArrayList eventosArrayList;

public AdapterEventos(Context context, ArrayList eventos) {

super(context, R.layout.listeventos, eventos);

this.context = context;

this.eventosArrayList = eventos;

}

public View getViewEventos(int position, View convertView, ViewGroup parent) {

//Create inflater

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

//Get rowView from inflater

View LinhaEventoView = inflater.inflate(R.layout.listeventos, parent, false);

//Get the text view from the rowView

TextView nomeView = (TextView) LinhaEventoView.findViewById(R.id.tvNomeEvento);

TextView localView = (TextView) LinhaEventoView.findViewById(R.id.tvLocalEvento);

TextView inicioView = (TextView) LinhaEventoView.findViewById(R.id.tvInicioEvento);

//Set the text for textView

nomeView.setText(eventosArrayList.get(position).getNome());

localView.setText(eventosArrayList.get(position).getLocal());

inicioView.setText(eventosArrayList.get(position).getInicio());

//return rowView

return LinhaEventoView;

}

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

setContentView(R.layout.search_activity);

new DescarregarEventos().execute();

ListView ListEventos=(ListView)findViewById(R.id.listEventos);

Log.d("eventos","eventos: " + eventos);

ListEventos.setAdapter(new AdapterEventos(this, eventos));

public class DescarregarEventos extends AsyncTask {

JSONArray dataJsonArr = null;

protected String doInBackground(String... arg) {

HttpPost httppost = new HttpPost(eventosUrl);

String evt = null;

try {

//Criar parâmetros para o Post.

List params = new ArrayList();

params.add(new BasicNameValuePair("eventos", "data"));

httppost.setEntity(new UrlEncodedFormEntity(params));

//Executar o Post.

ResponseHandler responseHandler = new BasicResponseHandler();

evt = httpclient.execute(httppost, responseHandler);

} catch (UnsupportedEncodingException e) {

Log.d("HTTP","ERRO A ADICIONAR OS PARÂMETROS PARA O POST EM \"DescarregarEventos()\"");

e.printStackTrace();

} catch (IOException e) {

Log.d("HTTP", "ERRO EM \"DescarregarEventos()\"");

e.printStackTrace();

}

return evt;

}

// Tratar a resposta do Post e adicionar ao array respetivo.

public void onPostExecute(String evt) {

try {

JSONArray E = new JSONArray(evt);

for (int i = 0; i < E.length(); i++) {

JSONObject evento = E.getJSONObject(i);

eventos.add(new Evento(evento.getString("nome"),evento.getString("localizacao"),evento.getString("data_inicio")));

}

} catch (JSONException e) {

Log.d("HTTP","ERRO A TRATAR OS EVENTOS EM \"DescarregarEventos() \" - \"onPostExecute()\"");

e.printStackTrace();

}

}

}

}

2014-03-05

pdcc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值