错误包括Eclipse中的Android-DirectionalViewPager .jar

kib*_*Net 7 eclipse android android-viewpager

我正在尝试在我的应用中实现垂直滑动.(就像用ViewPager滑动一样,但是垂直方向).

我找到了Jake Whartons库Android-DirectionalViewPager.它是一个独立的.jar文件,除兼容性库外,还应包含该文件.我在我的项目中包含了该文件.它现在位于'Referenced Libraries'下,就像兼容库一样.
但问题是,我甚至无法得到图书馆给出的例子.调试器在线停止

setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)

'找不到来源'

LogCat抛出此错误:"05-23 14:43:13.583:E/dalvikvm(329):找不到类'com.directionalviewpager.DirectionalViewPager',从方法own.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>
Run Code Online (Sandbox Code Playgroud)

布局:

<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>
Run Code Online (Sandbox Code Playgroud)

和主要活动:

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);
        }
    });
}
}
Run Code Online (Sandbox Code Playgroud)

它与示例中的代码相同,除了包名称和主要活动的名称,所以我想,我包含库的方式一定是错误的.

谢谢!

MrM*_*fen 19

更新(2月1日14日):这个库是一个非常好的选择.我目前正在我的项目中使用它,它的工作完美无瑕.它仍在维护中,它是对支持lib r19的标准ViewPager的非常接近的修改.另一个优点是,如果你使用gradle,你可以通过maven central轻松集成和解决它.

https://github.com/castorflex/VerticalViewPager


感谢Oleg Vaskevich,我能够从当前的git文件和oleg的添加/修复中编译一个新的和工作的directionalViewpager jar文件.我可以确认它正在使用当前的support-lib v4 r11.

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

希望这对某人有用:)

添加:我在DirectionalViewPager.setAdapter(PagerAdapter适配器){...};中有一个IllegalArgumentException.所以我修改并修复,重新编译并上传了新的jar.


Ole*_*ich 14

由于ViewPager发生了重大变化,开发人员不推荐使用DVP.但是,这并不意味着它没有用处.

尝试直接下载源代码并在项目中包含两个源文件.如果您使用的是最新的支持/兼容性库,则需要使用android.database.DataSetObserver而不是ViewPager.DataSetObserver.希望这可以帮助!

应该运行的修改代码:https://dl.dropbox.com/u/21007282/Code/DirectionalViewPager-works.zip