【发布时间】:2014-01-09 16:35:56
【问题描述】:
我已经尝试过了,但它不起作用,我想让列表(origen、destino、dias)中的每一个都是我的自定义 ListView 的每一列。 我在其他论坛上问过,但我根本不明白答案,因为我认为当我问的时候他们不理解我。 提前致谢。
MainActiviy.java
public class MainActivity extends Activity {
private ListView lvhorario;
private String url="some web";
public List<String> origen;
private List<String> destino;
private List<String> dias;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Vincular textviews a utilizar
lvhorario=(ListView)findViewById(R.id.lvHorario);
//Crear un nuevo hilo
new Thread(new Runnable() {
public void run() {
Document doc;
try {
// necesitará protocolo http
doc = Jsoup.connect(url)
.get();
origen = new ArrayList<String>();
for( Element element : doc.select("li.columnaParadaOrigen") )
{
origen.add(element.text());
}
destino = new ArrayList<String>();
for( Element element : doc.select("li.columnaParadaDestino") )
{
destino.add(element.text());
}
dias = new ArrayList<String>();
for( Element element : doc.select("li.columnaDias") )
{
dias.add(element.text());
}
} catch (IOException e) {
e.printStackTrace();
}
//Mostrar los resultados.
runOnUiThread(new Runnable() {
public void run() {
HorarioAdapter adapter;
adapter = new HorarioAdapter(MainActivity.this, origen,destino,dias);
lvhorario.setAdapter(adapter);
}
});
}
}).start();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
HorarioAdapter.java
public class HorarioAdapter extends BaseAdapter{
private List<String> column1, column2,column3;
private Context context;
public HorarioAdapter(Context context,List<String> column1,List<String> column2,List<String>column3){
this.context=context;
this.column1 = column1;
this.column2 = column2;
this.column3 = column3;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = LayoutInflater.from(context);
View item = inflater.inflate(R.layout.horario_row, null);
TextView origen = (TextView) item.findViewById(R.id.tvorigen);
origen.setText(column1.get(position).toString());
TextView destino = (TextView) item.findViewById(R.id.tvdestino);
destino.setText(column2.get(position).toString());
TextView dias = (TextView) item.findViewById(R.id.tvdias);
dias.setText(column3.get(position).toString());
return item;
}
}
【问题讨论】:
-
你说它不起作用是什么意思?你有什么错误吗?
-
你不必重写
getCount方法,删除它。同时删除getItem,getItemId你不需要它们
标签: java android listview android-custom-view