清除TextView文本后,ScrollView停止滚动

时间:2015-03-19 22:03:07

标签: android 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("");
      }
    });
  }
}

我希望滚动仍能正常工作。 谁能说为什么不呢?

1 个答案:

答案 0 :(得分:0)

您需要将TextView的高度更改为“wrap_content”而不是“fill_parent”,以便它扩展为与其内容一样大,而不是像父级一样大。这样,ScrollView就可以滚动到。

我只能猜测旋转屏幕会导致元素调整大小以适应其内容,从而导致您看到的差异......