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>