Java 将ScrollView和HorizontalScrollView添加到表格布局
我的问题类似于放置一个ScrollView HorizontalScrollView和一个包含TextView数组的表 这是我的main.java: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
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>