Jsoup和addView

时间:2014-02-27 18:58:32

标签: java android

我想在主循环中包含runOnUiThread(new Runnable())代码,但是当我尝试它时,它会让我错误。

我需要一个比赛的dinamyc列表..我只能得到一个......

activity_main.xml中:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myTableLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:visibility="visible" >

</TableLayout>

MainActivity.java:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listaPartidos = new ArrayList<Partido>();
    new Thread(new Runnable() {
        public void run() {
            Document doc;
            try {
                String url = "http://www.XXXXXXXXXXX.com/";
                doc = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url);
                Elements partidos = doc.select("body table tbody tr td font");
                for (int i= 37; i<60;i+=6){
                    dato = partidos.get(i);
                    prueba = dato.text();

                    for(int j = 0; j<7;j++){
                        //Si es título que haga esto
                        if (prueba.regionMatches( 0, ListaDias[j], 0, 3 )){
                            System.out.println("Día: "+ prueba);
                            i++;
                        }
                    }
                    competicion = partidos.get(i).text();
                    equipo1 = partidos.get(i+1).text();
                    guion = partidos.get(i+2).text();
                    equipo2 = partidos.get(i+3).text();
                    canal = partidos.get(i+4).text();
                    hora = partidos.get(i+5).text();
                    Partido partido = new Partido(equipo1,equipo2,guion,hora,canal,competicion);
                    listaPartidos.add(partido);

                }


            } catch (IOException e) {
                e.printStackTrace();
            }
            //show results.
            runOnUiThread(new Runnable() {
                public void run() {
                    TableRow tr = new TableRow(MainActivity.this);
                    tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

                    TextView competicion = new TextView(MainActivity.this);
                    competicion.setText(listaPartidos.get(1).getCompet icion());

                    competicion.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

                    TextView equipoLocal= new TextView(MainActivity.this);
                    equipoLocal.setText(listaPartidos.get(1).getEquipo Local());
                    equipoLocal.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));


                    TextView equipoVisitante= new TextView(MainActivity.this);
                    equipoVisitante.setText(listaPartidos.get(1).getEq uipoVisitante());
                    equipoVisitante.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));


                    TextView hora= new TextView(MainActivity.this);
                    hora.setText(listaPartidos.get(1).getHora());
                    hora.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

                    tr.addView(equipoLocal);
                    tr.addView(equipoVisitante);
                    tr.addView(Hora);
                    tr.addView(competicion);
                    TableLayout tl = (TableLayout)findViewById(R.id.myTableLayout);
                    tl.addView(tr,new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT , LayoutParams.WRAP_CONTENT));

                    Toast.makeText(MainActivity.this, "Tarea finalizada!", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }).start();

}

0 个答案:

没有答案