【发布时间】: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 错误吗?这会让人们更容易帮助你。
-
我对@987654323@这条线很怀疑
-
我已将 Catlog 编辑到问题帖中
-
好的,所以它没有找到jumpPage方法,可能你需要以编程方式添加clicklistener。
标签: android button clicklistener