我制作了一个Android程序来阅读书籍。我想打开一个标签,当你打开一个标签时,程序将打开书并滚动到标签中告知的位置。
但在我的应用中,ScrollTo功能似乎没有反应。
这是我的代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reader);
scrollView = (ScrollView)findViewById(R.id.Scroll);
text = (TextView)findViewById(R.id.text);
tagsButton = (ImageButton)findViewById(R.id.Tags);
openButton = (ImageButton)findViewById(R.id.Open);
text.setTextColor(Color.RED);
text.scrollTo(0, index);
}//Here the scrollTo do not work...
onCreate中的过程并不重要,所以我删除了它们。
让我感到困惑的是,在下面的方法中,方法滚动可以工作......
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data!=null){
Bundle bundle = data.getExtras();
if(bundle!=null){
int index = bundle.getInt("Index");
String file_name = bundle.getString("File_Name");
ReadFile(file_name);
scrollView.scrollTo(0, index);
text.postInvalidate();
}
}
我不认为这两种方法之间存在太大差异......但为什么......
任何人都可以帮助我?
太多了。
答案 0 :(得分:7)
在你的onCreate尝试
text.post(new Runnable() {
@Override
public void run() {
text.scrollTo(...);
}
});