Java 将ScrollView和HorizontalScrollView添加到表格布局

Java 将ScrollView和HorizontalScrollView添加到表格布局,java,android,scroll,Java,Android,Scroll,我的问题类似于放置一个ScrollView HorizontalScrollView和一个包含TextView数组的表 这是我的main.java: public class tabla extends Activity { SitesList sitesList = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

我的问题类似于放置一个ScrollView HorizontalScrollView和一个包含TextView数组的表

这是我的main.java:

public class tabla extends Activity {

    SitesList sitesList = null;


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

        TableLayout layout =(TableLayout)findViewById(R.id.tabla);

        TableRow tr[] = new TableRow[80];

        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 */

        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));

            Pattern pattern = Pattern.compile("^([a-z: ]*)?+(\\+?[0-9]+([,\\.][0-9]*)?)$");
            Matcher matcher = pattern.matcher(sitesList.getVariacion().get(i));
            if (!matcher.matches())

                variacion[i].setTextColor(Color.parseColor("#ff0000"));
            else
                variacion[i].setTextColor(Color.parseColor("#008000")); 


        }   
        for (int i = 0; i < 80; i++) {
            tr[i] = new TableRow(this);

            tr[i].addView(nemotecnico[i], new TableRow.LayoutParams(1));
            tr[i].addView(precio[i], new TableRow.LayoutParams(2));
            tr[i].addView(variacion[i], new TableRow.LayoutParams(3));

            layout.addView(tr[i], new TableLayout.LayoutParams());

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

    }    
}
并在TableRow中显示TextView

for (int i = 0; i < 80; i++) {
    tr[i] = new TableRow(this);

    tr[i].addView(nemotecnico[i], new TableRow.LayoutParams(1));
    tr[i].addView(precio[i], new TableRow.LayoutParams(2));
    tr[i].addView(variacion[i], new TableRow.LayoutParams(3));

    layout.addView(tr[i], new TableLayout.LayoutParams());

}
/** Set the layout view to display */
setContentView(layout);
for(int i=0;i<80;i++){
tr[i]=新表格行(本);
tr[i].addView(nemotecnico[i],新TableRow.LayoutParams(1));
tr[i].addView(precio[i],新TableRow.LayoutParams(2));
tr[i].addView(variacion[i],新TableRow.LayoutParams(3));
layout.addView(tr[i],新的TableLayout.LayoutParams());
}
/**将布局视图设置为显示*/
setContentView(布局);
但是我不能放置HorizontalScrollView和ScrollView,因为我的Xml如下所示



非常感谢你的帮助,谢谢

我不明白为什么不能在垂直和水平滚动视图中包装整个表格,或者包装单个单元格(以您喜欢的为准)。第一个选项如下所示:

<ScrollView ...>
    <HorizontalScrollView ...>
        <TableLayout ...>
    </HorizontalScrollView>
</ScrollView>

但是这只允许用户为每个手势水平或垂直滚动,而不是对角滚动。但这个问题涉及到创建二维滚动视图:

<ScrollView ...>
    <HorizontalScrollView ...>
        <TableLayout ...>
    </HorizontalScrollView>
</ScrollView>