second_fragment.xmlứng dụng Android đâm (đoạn và xml onclick)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/f2_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/f2_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/f2_tv" />
<Button
android:id="@+id/f2_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="button"
android:text="@string/f2_bttn" />
SecondFragment.java
public class SecondFragment extends Fragment {
FragmentInterface iface;
public interface FragmentInterface {
public void buttonPressed();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.second_fragment, container, false);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception
try {
iface = (FragmentInterface) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement FragmentInterface");
}
}
public void button(View view) {
}
}
Tôi newbie và tôi không có ý tưởng tại sao tai nạn ứng dụng của tôi, khi nhấn nút? Bất cứ ai có thể giải thích?
01-03 13:28:25.612: E/AndroidRuntime(1276): FATAL EXCEPTION: main
01-03 13:28:25.612: E/AndroidRuntime(1276): java.lang.IllegalStateException: Could not find a method button(View) in the activity class com.sp.fragments.MainActivity for onClick handler on view class android.widget.Button with id 'f2_button'
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.view.View$1.onClick(View.java:3584)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.view.View.performClick(View.java:4202)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.view.View$PerformClick.run(View.java:17340)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.os.Handler.handleCallback(Handler.java:725)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.os.Handler.dispatchMessage(Handler.java:92)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.os.Looper.loop(Looper.java:137)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.app.ActivityThread.main(ActivityThread.java:5039)
01-03 13:28:25.612: E/AndroidRuntime(1276): at java.lang.reflect.Method.invokeNative(Native Method)
01-03 13:28:25.612: E/AndroidRuntime(1276): at java.lang.reflect.Method.invoke(Method.java:511)
01-03 13:28:25.612: E/AndroidRuntime(1276): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-03 13:28:25.612: E/AndroidRuntime(1276): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-03 13:28:25.612: E/AndroidRuntime(1276): at dalvik.system.NativeStart.main(Native Method)
01-03 13:28:25.612: E/AndroidRuntime(1276): Caused by: java.lang.NoSuchMethodException: button [class android.view.View]
01-03 13:28:25.612: E/AndroidRuntime(1276): at java.lang.Class.getConstructorOrMethod(Class.java:460)
01-03 13:28:25.612: E/AndroidRuntime(1276): at java.lang.Class.getMethod(Class.java:915)
01-03 13:28:25.612: E/AndroidRuntime(1276): at android.view.View$1.onClick(View.java:3577)
01-03 13:28:25.612: E/AndroidRuntime(1276): ... 11 more
01-03 13:28:27.563: I/Process(1276): Sending signal. PID: 1276 SIG: 9
xin vui lòng đăng LogCat vì vậy chúng tôi có thể nhìn thấy sự sụp đổ –
Bạn có thể thử thiết lập 'OnClickListener' để nút của bạn từ bên trong' chức năng onCreateView' của bạn? Theo tôi nghĩ, 'onClick' được đặt từ xml sẽ cố gắng tìm chức năng đó trong hoạt động chứ không phải trong phân đoạn. – Enigma
đăng đầu ra logcat của bạn .. vì vậy chúng tôi có thể hiểu về vấn đề – Janmejoy