मेरे पास एक स्क्रॉलव्यू के साथ एक एंड्रॉइड प्रोग्राम है जो मेरे कंप्यूटर पर एमुलेटर पर स्क्रॉलबी विधि को कॉल करते समय स्वचालित स्क्रॉल सही ढंग से करेगा, लेकिन यह मेरे एंड्रॉइड फोन पर नहीं करेगा।एंड्रॉइड स्क्रॉल व्यू क्लास में smoothScrollBy विधि का उपयोग
यहाँ कोड है:
public class RecordGameActivity3 extends Activity {
ScrollView myView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recordgame3);
myView = (ScrollView)findViewById(R.id.scrollView1);
}
public void addPlayer(View v)
{
//Removed non-related code
myView.smoothScrollBy(0, 50);
}
}
इसके अलावा
, नियमित रूप से scrollBy या विधि काम नहीं करता है scrollTo विधि (हालांकि मैं सिर्फ इतना है कि का उपयोग नहीं किया जा सकता है सही ढंग से के बाद से उस कंप्यूटर पर या तो काम नहीं करता है)। क्या किसी को पता है कि क्या गलत हो सकता है?
संपादित करें:
डेरेल के जवाब के रूप में मेरे समस्या से पता चला है मुझे था कि मैं एक समारोह है, जहां मैं लेआउट कि पुस्तक क्षेत्र काफी बड़ा होने के लिए सक्षम होने के लिए होगा में परिवर्तन करने गया था के अंतर्गत अपना smoothScrollBy विधि बुला रहा था स्क्रॉल किया। जाहिर है, जब तक मैं इसे समारोह में बुला रहा था, तब तक परिवर्तन वास्तव में लागू नहीं किए गए थे और इसलिए इसे स्क्रॉल नहीं किया जा सका।
public class RecordGameActivity3 extends Activity {
ScrollView myView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.recordgame3);
myView = (ScrollView)findViewById(R.id.scrollView1);
// New code that listens for a change in the scrollView and then calls the scrollBy method.
ViewTreeObserver vto = myView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
myView.smoothScrollBy(0, 100);
}});
}
public void addPlayer(View v)
{
//Code that is called on an onClick listener that adds things to the ScrollView making it scrollable.
}
}
ठीक है - मैं इसे ऑन्रेट विधि से नहीं कर रहा हूं लेकिन मैं इसे एक विधि में कर रहा हूं जहां मैं केवल उन घटकों को जोड़ रहा हूं जो इसे स्क्रॉल करने में सक्षम होंगे। मैं ViewTreeObserver का उपयोग कैसे कर सकता हूं? –
कोई बात नहीं - मुझे पता चला कि कैसे। आपकी मदद के लिए बहुत बहुत शुक्रिया। –