【发布时间】:2013-12-05 21:00:37
【问题描述】:
在名为 NowePomieszczenie 的活动中,我将函数 pokazdane 设为 创建新的 TableLayout 并在 TableLayout 的行 (wiersz) 中包含来自数据库 (bazakosztorys) 的数据 (kosztorys_id、kosztorys_nazwa、inwestor)。功能是通过点击按钮(wybierzkosztorys)执行的,就像附加的图像一样。它工作得很好,但带有数据库数据的表不可滚动。我该如何解决?
wyglad.setVerticalScrollBarEnabled(true); 不工作
https://www.dropbox.com/s/ovqsyg990ymgsra/widok.jpg
公共类 NowePomieszczenie 扩展 Activity 实现 OnClickListener{
SQLiteDatabase db;
TextView textview1,textview2,textview3, textview4, textview5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nowe_pomieszczenie);
db=openOrCreateDatabase("baza_kosztorys", MODE_PRIVATE, null);
}
public void pokazdane(查看 v) {
final Cursor c=db.rawQuery("SELECT * from kosztorys", null);
int count= c.getCount();
c.moveToFirst();
//definicja wygladu
final TableLayout wyglad = new TableLayout(getApplicationContext());
wyglad.setVerticalScrollBarEnabled(true);
TableRow wiersz = new TableRow(getApplicationContext());
//dodanie napisu id nad kolumna id
TextView textview = new TextView(getApplicationContext());
textview.setText("DOSTĘPNE KOSZTORYSY");
textview.setTextColor(Color.BLUE);
textview.setTypeface(null, Typeface.BOLD);
textview.setPadding(20, 20, 20, 20);
wiersz.addView(textview);
wyglad.addView(wiersz);
for(Integer j=0; j<count; j++)
{
//przechwytywanie pierwszej kolumny
wiersz = new TableRow(getApplicationContext());
wiersz.setClickable(true);
wiersz.setId(Integer.parseInt(c.getString(c.getColumnIndex("kosztorys_id"))));
textview = new TextView(getApplicationContext());
textview.setText(c.getString(c.getColumnIndex("kosztorys_id")));
textview2 = new TextView(getApplicationContext());
textview2.setText(c.getString(c.getColumnIndex("kosztorys_nazwa")));
textview3 = new TextView(getApplicationContext());
textview3.setText(c.getString(c.getColumnIndex("inwestor")));
wiersz.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int idrow= v.getId();
v.setBackgroundColor(Color.GRAY);
}
});
// wiersz.addView(textview);
textview2.setPadding(20, 20, 20, 20);
textview3.setPadding(20, 20, 20, 20);
// wiersz.addView(textview);
wiersz.addView(textview2);
wiersz.addView(textview3);
wyglad.addView(wiersz);
c.moveToNext();
}
setContentView(wyglad);
db.close();
}
【问题讨论】:
-
在 HorizontalScrollView 中添加您的 TableLayout。
-
对不起,我的意思是垂直滚动而不是水平滚动,我的错误我更正了标题
-
然后使用 ScrollView 代替 HorizontalScrollView。
-
我尝试在代码中添加它,但它不起作用
ScrollView scroller = new ScrollView(getApplicationContext()); final TableLayout wyglad = new TableLayout(getApplicationContext()); scroller.setVerticalScrollBarEnabled(true);
标签: java android scroll tablelayout