2013-09-04 7 views
5

के साथ स्क्रॉलिंग सूचीदृश्य मैं बटन दबाकर अपनी सूचीदृश्य स्क्रॉल करना चाहता हूं। मैं दो बटन ऊपर और नीचे उपयोग कर रहा हूं और जब मैं बटन दबाता हूं तो सूचीदृश्य को एक पंक्ति को ऊपर ले जाना चाहिए और जब मैं बटन दबाता हूं तो सूचीदृश्य को एक पंक्ति नीचे ले जाना चाहिए।बटन

मेरे सूचीदृश्य this लिंक पर आधारित है। मुझे स्क्रॉलव्यू here का एक अच्छा उदाहरण मिला। अब मेरा प्रश्न स्क्रॉलव्यू के बजाय है, मुझे अपनी सूचीदृश्य का उपयोग करने की आवश्यकता है और इसे एक पंक्ति से बढ़ाना/घटाना चाहिए। जैसा कि एंड्रॉइड के लिए नया है, इस मुद्दे को हल करने में मेरी मदद करें। अग्रिम में धन्यवाद।

+0

चेक [इस] (http://stackoverflow.com/questions/17205017/android-listview-thumb-scrollbar/17206022#17206022) Android के डिफ़ॉल्ट स्क्रॉल बार प्रदान करता है सूचीदृश्य के लिए। – sarabu

+3

कभी भी स्क्रॉल व्यू के अंदर कभी भी ListView घोंसला न करें !! – Skynet

+0

मुझे स्क्रॉलव्यू के अंदर सूचीदृश्य की आवश्यकता नहीं है। मैं क्या पूछ रहा हूं, उदाहरण के लिए मुझे बटन पर क्लिक करके ऊपर और नीचे जाने के लिए मेरी सूचीदृश्य की आवश्यकता है। – AndroidOptimist

उत्तर

3

आप निम्नलिखित में से किसी की कोशिश कर सकते हैं:

getListView().setSelection(int); 

एक चिकनी स्क्रॉल के लिए:

getListView().smoothScrollToPosition(int); 

नमूना कोड:

एक सीधा स्क्रॉल के लिए

public View.OnClickListener onChk = new View.OnClickListener() { 
      public void onClick(View v) { 

       int index = list.getFirstVisiblePosition(); 
       getListView().smoothScrollToPosition(index+1); // For increment. 

} 
}); 

हालांकि आपको एक मामले को संभालने की आवश्यकता है, यह है कि शीर्ष पर दृश्य का केवल आधा हिस्सा हिस्सा दिखाई दे रहा है।

+0

मुझे बटन पर क्लिक करके स्क्रॉलिंग की आवश्यकता है। (यानी) बटन दबाकर उस पंक्ति को एक पंक्ति को स्क्रॉल करना चाहिए .. क्या मेरा प्रश्न स्पष्ट है? – AndroidOptimist

+2

हां बटन क्लिक श्रोता के अंदर उपरोक्त स्निपेट में से एक डालें। बस! आपको एक वैरिएबल में वृद्धि और कमी करना होगा जो int स्थिति में जाएगा, बटन वृद्धि पर यह वृद्धि और कमी होनी चाहिए। – Skynet

+0

देर से उत्तर के लिए खेद है। मैंने आपके उपरोक्त कोड को बटन में बीटीएन के रूप में रखा है।setOnClickListener (नया व्यू.ऑनक्लिक लिस्टनर() {@ ओवरराइड सार्वजनिक शून्य पर क्लिक करें (देखें arg0) {listView.set चयन (8);}}); लेकिन यह काम नहीं कर रहा है – AndroidOptimist

2

तुम भी आईडीई सुझाव के लिए जांच की है? ;)

ListView lv = (ListView) findViewById(R.id.myListView); 

// to scroll to a given position 
lv.scrollTo(int x, int y); 

// to scroll by a given number of dp 
lv.scrollBy(int x, int y); 
+0

क्या हर आइटम एक ही ऊंचाई है? और क्या उनकी ऊंचाई हाथ से निर्धारित है या मैन्युअल रूप से गणना की जाती है? – meeDamian

+0

मुझे बटन क्लिक करके स्क्रॉल करने के लिए विचारों की आवश्यकता है। आम तौर पर मैं अब सूचीदृश्य स्क्रॉल कर सकता हूं। – AndroidOptimist

0

चिकनी अवधि के साथ स्क्रॉल

getListView().smoothScrollToPositionFromTop(position,offset,duration); 

पैरामीटर स्थिति -> स्थिति को

दृश्य के शीर्ष से ऑफसेट ----> स्थिति की पिक्सेल में वांछित दूरी स्क्रॉल करने के लिए जब स्क्रॉल

समाप्त हो गया है

duration-> मिलीसेकेंड की संख्या पुस्तक के लिए उपयोग करने के लिए

नोट: एपीआई से 11