gpt4 book ai didi

android - 由于以编程方式插入数据,ScrollView 不可滚动?

转载 作者:行者123 更新时间:2023-11-29 02:00:30 26 4
gpt4 key购买 nike

我在 stackoverflow.com 上看到过几次不可滚动的 ScrollView,但没有一个建议的解决方案对我有用。我希望有人能提供帮助。

我有一个包含 TableLayout 的 ScrollView。 TableLayout 是空的,但我以编程方式插入行和列。我猜测我需要告诉 ScrollView TableLayout 已更改/更新,如果需要启用滚动,ScrollView 需要重新计算。

我试图使 ScrollView 和 TableLayout 都无效,我尝试了 requestLayout(),但似乎什么也没做。我错过了什么?

这是我的布局 XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:scrollbars="horizontal|vertical" >

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:stretchColumns="*"
android:id="@+id/maintable" >
</TableLayout>
</ScrollView>

这是我的 Java 代码。基本上,此代码为每个玩家添加一行,并在每个玩家旁边添加 25 个按钮。按钮在那里,但它们在屏幕边界之外。

    // Get the TableLayout
TableLayout tl = (TableLayout) findViewById(R.id.maintable);

// Go through each item in the array
for (int player = 0; player < players.length; player++)
{

// Create a TableRow and give it an ID
TableRow tr = new TableRow(this);

tr.setId(100+player);
tr.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));

// Create a TextView to add the player name
TextView labelTV = new TextView(this);
labelTV.setId(200+player);
labelTV.setText(players[player]);
//labelTV.setTextColor(Color.BLACK);
labelTV.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
tr.addView(labelTV);

// numShots = 25
for (int shot = 0; shot < numShots; shot++)
{
Button shotButton = new Button(this);
shotButton.setId((player * 100) + shot);
shotButton.setText(Integer.toString(shot));
tr.addView(shotButton);

}

tl.addView(tr, new TableLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));

// Add the TableRow to the TableLayout
//};
}

最佳答案

我认为您需要水平滚动条? ScrollView 只做垂直滚动,你需要看看 HorizontalScrollView .

关于android - 由于以编程方式插入数据,ScrollView 不可滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com