1

arraylist にデータがあり、それを Android テーブルに追加して、プログラムでそのようなビューを取得したいと考えています。

現在、テキストビューにデータを追加していますが、スクロールビューを実装できません。

温度、場所、湿度があり、このすべてのデータを含むテーブルが必要です。1画面よりも多くのデータがあるため、スクロール可能にする必要があります。

そのように:

画像

テーブルの外観:

City     Temperature Humidity

Sydney        5        100

NY            8        120

...          ...       ...

さらに 100 個の挿入 (スクロール可能)。

テキストビューの現在のコード:

package com.aplikacija;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.jsoup.*;

public class Temperature extends Activity implements OnTouchListener {

    public boolean isNetworkAvailable() {
        ConnectivityManager connectivityManager 
              = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);






        if(isNetworkAvailable()){


        //////////////////////////////////////////////////
            try{




            Document doc = Jsoup.connect("http://www.arso.gov.si/vreme/napovedi%20in%20podatki/vreme_avt.html").timeout(10000).get();
            String title = doc.title();
            Elements kraji = doc.getElementsByClass("onlineimena");
            Elements temperature = doc.getElementsByClass("onlinedesno");


            int c = 0;
            int st_vrstic = 0;
            ArrayList<String> list = new ArrayList<String>();
            ArrayList<String> list2 = new ArrayList<String>();
            String vrstica[] = new String[10];
            String niz="";
            for(Element temperatura: temperature){
               //System.out.print(temperatura.text()+" ");
                niz += temperatura.text() + " ";
               if(++c == 10){
                   vrstica = niz.split(" ");
                   list.add(vrstica[0]);
                   list2.add(vrstica[1]);
                   niz ="";
                   c = 0;
               }


              }

            int stevc = 0;

            String temp_izpis[] = new String[44];
            String kraji_izpis []= new String[44];
            String vlaznost_izpis[] = new String[44];

            for(String tempp : list){
                temp_izpis[stevc] = tempp;
                stevc++;
            }
            stevc = 0;

            for(String vlaz : list2){
                vlaznost_izpis[stevc] = vlaz;
                stevc++;
            }
            stevc = 0;

            for(Element krajj : kraji){
                kraji_izpis[stevc] = krajj.text();
                stevc++;
            }   
       //////////////////////////////////////////////////       

        LinearLayout layout = new LinearLayout(this);
        setContentView(layout);


        layout.setOrientation(LinearLayout.VERTICAL); 
        TextView glava=new TextView(getApplicationContext());
        String stopinja = new Character((char)'\u00B0').toString();
        glava.setText("Postaja              Temperatura"+stopinja+"C"+"     Vlaûnost %");
        glava.setTextColor(Color.BLACK);

        layout.addView(glava);
        for(int i=0;i<temp_izpis.length;i++)
        {
            TextView tv=new TextView(getApplicationContext());
            tv.setText(kraji_izpis[i] + "   "+ temp_izpis[i]+ "     "+vlaznost_izpis[i]);
           tv.setTextColor(Color.BLACK);

           layout.addView(tv);
        }
            }catch(IOException e){

                e.printStackTrace();
            }
        }else{
            setContentView(R.layout.temperature);
            TextView tv = (TextView)findViewById(R.id.textView1);
            tv.setText("Ni dostopa do interneta!");
        }

    }





    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        return false;
    }



}



    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollview1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:textStyle="bold" />



</LinearLayout>
</ScrollView>
4

0 に答える 0