2012-05-23 4 views
7

में Android-DirectionalViewPager .jar सहित त्रुटि। मैं अपने ऐप में लंबवत स्वाइपिंग को लागू करने की कोशिश कर रहा हूं। (यह ViewPager के साथ स्वाइप करने जैसा है, लेकिन लंबवत है)।ईक्लीप्स

मुझे जेक व्हार्टन लाइब्रेरी Android-DirectionalViewPager मिली। यह एक स्टैंडअलोन .jar फ़ाइल है जिसे संगतता लाइब्रेरी के अतिरिक्त शामिल किया जाना चाहिए। मैंने अपनी परियोजना में फ़ाइल शामिल की। यह अब संगतता लाइब्रेरी की तरह 'संदर्भित पुस्तकालय' के तहत है।
लेकिन समस्या यह है कि, मैं काम करने के लिए लाइब्रेरी के साथ दिया गया उदाहरण भी प्राप्त नहीं कर सकता। डिबगर लाइन

setContentView(R.layout.main); 

साथ 'नहीं स्रोत मिला' पर बंद हो जाता

LogCat इस त्रुटि फेंकता है: "05-23 14: 43: 13.583: ई/dalvikvm (329): वर्ग नहीं मिल सका 'com.directionalviewpager.DirectionalViewPager', विधि से संदर्भित है। vvp.MainActivity.onCreate "

क्या कोई इस पुस्तकालय का उपयोग पहले से ही कर चुका है?

प्रकट:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="own.vvp" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk android:minSdkVersion="7" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 

लेआउट:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<com.directionalviewpager.DirectionalViewPager 
    android:id="@+id/pager" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    /> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="2dp" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/horizontal" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="1dp" 
     android:text="Horizontal" /> 
    <Button 
     android:id="@+id/vertical" 
     android:layout_width="0dp" 
     android:layout_weight="1" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="1dp" 
     android:text="Vertical" /> 

</LinearLayout> 

</LinearLayout> 

और मुख्य गतिविधि:

package own.vvp; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.view.View; 
import android.widget.Button; 
import com.directionalviewpager.DirectionalViewPager; 


public class MainActivity extends FragmentActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    //Set up the pager 
    final DirectionalViewPager pager = (DirectionalViewPager)findViewById(R.id.pager); 
    pager.setAdapter(new TestFragmentAdapter(getSupportFragmentManager())); 

    //Bind to control buttons 
    ((Button)findViewById(R.id.horizontal)).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      pager.setOrientation(DirectionalViewPager.HORIZONTAL); 
     } 
    }); 
    ((Button)findViewById(R.id.vertical)).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      pager.setOrientation(DirectionalViewPager.VERTICAL); 
     } 
    }); 
} 
} 
मैं कुछ मदद :)

यहाँ मेरी कोड है जरूरत

यह एक ही कोड है उदाहरण के तौर पर, पैकेज नाम और मुख्य गतिविधि के नाम को छोड़कर, मुझे लगता है कि जिस तरह से मैंने पुस्तकालय शामिल किया है वह गलत होना चाहिए।

धन्यवाद!

उत्तर

14

डेवलपर द्वारा डीवीपी को तब से बहिष्कृत किया गया है जब से ViewPager में महत्वपूर्ण परिवर्तन हुए हैं। हालांकि, इसका मतलब यह नहीं है कि इसके लिए कोई उपयोग नहीं है।

सीधे स्रोत डाउनलोड करने और अपनी परियोजना के भीतर दो स्रोत फ़ाइलों को शामिल करने का प्रयास करें। यदि आप नवीनतम समर्थन/संगतता लाइब्रेरी का उपयोग कर रहे हैं तो आपको ViewPager.DataSetObserver के बजाय android.database.DataSetObserver का उपयोग करना होगा। उम्मीद है की यह मदद करेगा!

संशोधित कोड है कि काम करना चाहिए: https://dl.dropbox.com/u/21007282/Code/DirectionalViewPager-works.zip

+0

कक्षा आइटमइन्फो – Siddhesh

+0

नहीं ढूंढ पा रहा है सुनिश्चित करें कि आपके पास उचित समर्थन लाइब्रेरी है - आपको 'android.support.v4.view.ViewPager.ItemInfo' तक पहुंच की आवश्यकता है। –

+0

मेरे पास नवीनतम lib – Siddhesh

19

अद्यतन (फरवरी 1st 14): यह पुस्तकालय एक बहुत अच्छा विकल्प है। मैं वर्तमान में इसे अपने प्रोजेक्ट में उपयोग कर रहा हूं और यह बेकार ढंग से काम कर रहा है। यह अभी भी बनाए रखा जा रहा है और यह समर्थन libP19 से मानक ViewPager का एक बहुत करीबी संशोधन है। एक और फायदा यह है कि यदि आप धीरे-धीरे उपयोग कर रहे हैं, तो आप आसानी से इसे मैवेन सेंट्रल के माध्यम से एकीकृत और हल कर सकते हैं।

https://github.com/castorflex/VerticalViewPager


ओलेग Vaskevich के लिए धन्यवाद, मैं वर्तमान Git फ़ाइलें और ओलेग के अतिरिक्त/फिक्स से एक नया और काम directionalViewpager जार फ़ाइल को संकलित करने में सक्षम था। मैं पुष्टि कर सकता हूं कि यह वर्तमान समर्थन-lib v4 r11 के साथ काम कर रहा है।

https://dl.dropbox.com/u/24363935/android-directionalviewpager-1.2.1fixed.jar

उम्मीद है कि इस किसी :)

जोड़ने के लिए करने के लिए उपयोगी हो सकता है: मैं DirectionalViewPager.setAdapter (PagerAdapter अनुकूलक) में एक IllegalArgumentException {...} था ;. तो मैंने संशोधित और तय किया है, पुनः संकलित किया है और नया जार अपलोड किया है।

+0

बहुत बढ़िया, धन्यवाद! –

+0

हाय, बढ़िया काम! हालांकि, यह मुझे लेआउट में शामिल करते समय त्रुटि देता है, यह कहता है: (अगली टिप्पणी) – vitakot

+0

निम्नलिखित कक्षाओं को तत्काल नहीं किया जा सका: - android.support.v4.view.DirectionalViewPager। 01-13 18: 45: 43.590: ई/AndroidRuntime (4875): android.view.InflateException: बाइनरी एक्सएमएल फ़ाइल लाइन # 15: बढ़ा-चढ़ाकर त्रुटि वर्ग टुकड़ा, java.lang.IllegalAccessError: विधि android.support.v4 पहुँचने का प्रयास किया। view.ViewPager.initViewPager() android.support.v4.view.DirectionalViewPager पर android.support.v4.view.DirectionalViewPager.initViewPager (DirectionalViewPager.java:136) में कक्षा android.support.v4.view.DirectionalViewPager से वी। (DirectionalViewPager.java:123)। ** कोई विचार? ** – vitakot