【问题标题】:Button on PageViewer to switch pagePageViewer 上用于切换页面的按钮
【发布时间】:2014-03-09 14:28:10
【问题描述】:

在 PageViewer 片段上使用按钮时我确实遇到了问题。 当按钮被点击时,它会将第一页带到最前面,但应用程序会崩溃。

public class Results extends FragmentActivity {
public static ViewPager viewPager=null;

@Override
protected void onCreate (Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.results);
    LayoutInflater inflater = LayoutInflater.from(this);
   List<View> pages = new ArrayList<View>();

    for(int i=1;i<=20;i++){
        if(i<10){
            View page = inflater.inflate(R.layout.test_fragment2, null);
            TextView textView = (TextView) page.findViewById(R.id.tv1);
            textView.setText("Page "+ i + " of 20");
            pages.add(page);
        }else{
            View page = inflater.inflate(R.layout.text_fragment, null);
            TextView textView = (TextView) page.findViewById(R.id.tv1);
            textView.setText("Page "+ i + " of 20");
            pages.add(page);
        }

    }
   MyPageAdapter pagerAdapter = new MyPageAdapter(pages);
    ViewPager viewPager = new ViewPager(this);
    viewPager.setAdapter(pagerAdapter);
    viewPager.setCurrentItem(0);    

    setContentView(viewPager);

}
 public void jumpPage(View v){
     viewPager.setCurrentItem(0,false);
    }


}

以及在我的布局 XML 上创建的按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" 
android:background="@drawable/mh4design">

<Button
android:id="@+id/btback"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="@drawable/custom_button"
android:onClick="jumpPage" />

<TextView
android:id="@id/tv1"
android:layout_width="200dp"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:textSize="20sp" />

</RelativeLayout>

这就是 CatLog 显示的内容,当我单击按钮时

D/AndroidRuntime(781):关闭虚拟机 W/dalvikvm(781): threadid=1: 线程以未捕获的异常退出 (group=0x40a71930) E/AndroidRuntime(781):致命异常:主要 E/AndroidRuntime(781): java.lang.IllegalStateException: 无法执行活动的方法 E/AndroidRuntime(781): 在 android.view.View$1.onClick(View.java:3599) E/AndroidRuntime(781):在 android.view.View.performClick(View.java:4204) E/AndroidRuntime(781):在 android.view.View$PerformClick.run(View.java:17355) E/AndroidRuntime(781):在 android.os.Handler.handleCallback(Handler.java:725) E/AndroidRuntime(781):在 android.os.Handler.dispatchMessage(Handler.java:92) E/AndroidRuntime(781):在 android.os.Looper.loop(Looper.java:137) E/AndroidRuntime(781): 在 android.app.ActivityThread.main(ActivityThread.java:5041) E/AndroidRuntime(781):在 java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(781):在 java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(781):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) E/AndroidRuntime(781):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) E/AndroidRuntime(781): 在 dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime(781):引起:java.lang.reflect.InvocationTargetException E/AndroidRuntime(781):在 java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(781):在 java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime(781): 在 android.view.View$1.onClick(View.java:3594) E/AndroidRuntime(781): ... 11 更多 E/AndroidRuntime(781):引起:java.lang.NullPointerException E/AndroidRuntime(781):在 com.CaliEng.mhsetsearcher.Results.jumpPage(Results.java:55) E/AndroidRuntime(781): ... 14 更多

希望有人能帮我解决这个问题

【问题讨论】:

  • 好的,但是你能发布你的 logcat 错误吗?这会让人们更容易帮助你。
  • 我对@9​​87654323@这条线很怀疑
  • 我已将 Catlog 编辑到问题帖中
  • 好的,所以它没有找到jumpPage方法,可能你需要以编程方式添加clicklistener。

标签: android button clicklistener


【解决方案1】:

在 onCreate 方法中,您像这样引用 View Pager:

ViewPager mViewPager = new ViewPager (this);

不要这样做,声明名称:

mViewPager = new ViewPager (this);

你做的方式有两个ViewPager,一个只存在于onCreate的范围内,另一个还没有初始化。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多