Java 如何在tableLayout中显示文本视图数组

Java 如何在tableLayout中显示文本视图数组,java,android,xml,arrays,textview,Java,Android,Xml,Arrays,Textview,我有一个问题要解决,我有三个文本视图数组 - Textview a[]; - TexTview b[]; - TexTview c[]: 我需要在表中显示它们,如下所示:。 但当显示以下代码时,屏幕如下所示: 这是完整的代码,提前,非常感谢 public class MainActivity extends Activity { SitesList sitesList = null; @Override public void onCreate(Bundle sav

我有一个问题要解决,我有三个文本视图数组

- Textview a[];
- TexTview b[];
- TexTview c[]:
我需要在表中显示它们,如下所示:。 但当显示以下代码时,屏幕如下所示:

这是完整的代码,提前,非常感谢

public class MainActivity extends Activity {

    SitesList sitesList = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /** Create a new layout to display the view */
        View layout = findViewById(R.id.layout);

        /** Create a new textview array to display the results */

       TextView variacion[];
       TextView nemotecnico[];
       TextView precio[];

        try {

            /** Handling XML */
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();

            /** Send URL to parse XML Tags */
            URL sourceUrl = new URL("http://www.bovalpo.com/cgi-local/xml_bcv.pl?URL=75");

            /** Create handler to handle XML Tags ( extends DefaultHandler ) */
            MyXMLHandler myXMLHandler = new MyXMLHandler();
            xr.setContentHandler(myXMLHandler);
            xr.parse(new InputSource(sourceUrl.openStream()));

            } catch (Exception e) {
                System.out.println("XML Pasing Excpetion = " + e);
            }

        /** Get result from MyXMLHandler SitlesList Object */
        sitesList = MyXMLHandler.sitesList;

        /** Assign textview array lenght by arraylist size */
     //   registro = new TextView[sitesList.getRegistro().size()];
        nemotecnico = new TextView[sitesList.getNemotecnico().size()];
        variacion = new TextView[sitesList.getVariacion().size()];
        precio = new TextView[sitesList.getPrecio().size()];


        /** Set the result text in textview and add it to layout */
        for (int i = 0; i < sitesList.getRegistro().size(); i++) {

            variacion[i] = new TextView(this);
            variacion[i].setText(sitesList.getVariacion().get(i));

            nemotecnico[i] = new TextView(this);
            nemotecnico[i].setText(sitesList.getNemotecnico().get(i));

            precio[i]  = new TextView(this);
            precio[i].setText(sitesList.getPrecio().get(i)); 

           ((ViewGroup)layout).addView(nemotecnico[i]);
           ((ViewGroup)layout).addView(variacion[i]);
           ((ViewGroup)layout).addView(precio[i]);

        }   
        /** Set the layout view to display */
       setContentView(layout);

    }    
}
公共类MainActivity扩展活动{
SitesList SitesList=null;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**创建新布局以显示视图*/
视图布局=findViewById(R.id.layout);
/**创建新的textview数组以显示结果*/
TextView变量[];
TextView nemotecnico[];
TextView precio[];
试一试{
/**处理XML*/
SAXParserFactory spf=SAXParserFactory.newInstance();
SAXParser sp=spf.newSAXParser();
XMLReader xr=sp.getXMLReader();
/**发送URL以解析XML标记*/
URL sourceUrl=新URL(“http://www.bovalpo.com/cgi-local/xml_bcv.pl?URL=75");
/**创建处理XML标记的处理程序(扩展DefaultHandler)*/
MyXMLHandler MyXMLHandler=新的MyXMLHandler();
xr.setContentHandler(myXMLHandler);
parse(新的InputSource(sourceUrl.openStream());
}捕获(例外e){
System.out.println(“XML-Pasing expetion=“+e”);
}
/**从MyXMLHandler SitleList对象获取结果*/
sitesList=MyXMLHandler.sitesList;
/**按arraylist大小指定textview数组长度*/
//registro=newtextview[sitesList.getRegistro().size()];
nemotecnico=newtextview[sitesList.getNemotecnico().size()];
variacion=newtextview[sitesList.getVariacion().size()];
precio=newtextview[sitesList.getPrecio().size()];
/**在textview中设置结果文本并将其添加到布局*/
对于(int i=0;i
我会用一个自定义行制作一个ListView,每个自定义行的GridLayout中都有标题和其他4个文本视图。然后,您可以编写一个自定义适配器,在重写getView()方法时填充它们

这是一个很好的演示:

您的自定义行将如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="TextView1" />

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="2"
    android:rowCount="2" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView2" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView3" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView4" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView5" />

</GridLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="TextView1" />

<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="2"
    android:rowCount="2" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView2" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView3" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView4" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView5" />

</GridLayout>