2012-05-08 44 views
1

我有一個簡單的笑話應用程序。當你按下按鈕時,你會得到新的笑話。如果前一個比屏幕大,可以將其向下滾動。如果你下到底部,然後去下一個笑話,你會被轉移到新生成的笑話的底部,但是我希望它到達頂部,並自動顯示笑話的開始。我怎樣才能做到這一點 ? 我認爲這將通過java代碼完成。如何將焦點集中到textView中新生成的文本的頂部?

謝謝你的時間。

+0

什麼成分是它,WH你有沒有把標籤中的XML? – Tharwen

回答

0

使用scrollTo(int x, int y)方法,我喜歡在我的TextView中使用ScrollView,但我認爲同樣的事情只適用於TextView。希望你能理解!

羅爾夫

的xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <ScrollView 
     android:id="@+id/scroll" 
     android:layout_width="fill_parent" 
     android:layout_height="130dp" > 

     <TextView 
      android:id="@+id/text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="long\n\n\n\n\n\n\n\n long\n\n\n\n\n\n\n very text here!" /> 

    </ScrollView> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="joke" /> 

</LinearLayout> 

的java:

package org.sample.example; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.ScrollView; 
import android.widget.TextView; 

public class AutoscrollActivity extends Activity implements OnClickListener { 
    /** Called when the activity is first created. */ 

    private Button new_joke; 
    private TextView joke; 
    private ScrollView scroll; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     new_joke = (Button) this.findViewById(R.id.button); 
     new_joke.setOnClickListener(this); 
     joke = (TextView) this.findViewById(R.id.text); 
     scroll = (ScrollView) this.findViewById(R.id.scroll); 
    } 

    @Override 
    public void onClick(View v) { 
     joke.setText("Long\n\n\n\n\n\n\n\n joke \n\n\n\n\n\n\n\nlong joke joke"); 
     scroll.scrollTo(0, 0); 
    } 
} 
+0

謝謝,我認爲這正是我一直在尋找的。 –

相關問題