清除 TextView 文本后,ScrollView 停止滚动
ScrollView stops scrolling after clearing TextView text
我在 ScrollView 中有一个 TextView:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scrollbars="vertical"
android:fillViewport="true">
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</ScrollView>
我将文本附加到 TextView,这样做之后,滚动工作正常。
但是,如果我通过
清除文本
textView.setText("");
然后添加更多文本,滚动不再有效。
我使用的java代码是这样的:
public class MainActivity extends Activity {
protected TextView textView;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
setClickListeners();
}
private void setClickListeners() {
((Button) findViewById(R.id.clear)).setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
textView.setText("");
}
});
}
}
我希望滚动仍然有效。
谁能说说为什么不行?
您需要将 TextView 的高度更改为 "wrap_content" 而不是 "fill_parent",以便它扩展到与其内容一样大,而不仅仅是与父级一样大。这样,ScrollView 就会有可以滚动到的内容。
我只能猜测旋转屏幕会导致元素自行调整大小以适应其内容,从而导致您看到的差异...
我在 ScrollView 中有一个 TextView:
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scrollbars="vertical"
android:fillViewport="true">
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</ScrollView>
我将文本附加到 TextView,这样做之后,滚动工作正常。 但是,如果我通过
清除文本textView.setText("");
然后添加更多文本,滚动不再有效。
我使用的java代码是这样的:
public class MainActivity extends Activity {
protected TextView textView;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textview);
setClickListeners();
}
private void setClickListeners() {
((Button) findViewById(R.id.clear)).setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
textView.setText("");
}
});
}
}
我希望滚动仍然有效。 谁能说说为什么不行?
您需要将 TextView 的高度更改为 "wrap_content" 而不是 "fill_parent",以便它扩展到与其内容一样大,而不仅仅是与父级一样大。这样,ScrollView 就会有可以滚动到的内容。
我只能猜测旋转屏幕会导致元素自行调整大小以适应其内容,从而导致您看到的差异...