我尝试将片段与AndroidAnnotations和Maven结合使用。
它可以在Android 4.0+上运行,但是后来我试图使其在Android 2.3.3上运行,因此我不得不使用support-v4 maven库:

<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>support-v4</artifactId>
    <version>r7</version>
</dependency>


我的片段定义为:

<android.support.v4.app.Fragment android:id="@+id/myFragment"
                                 android:layout_width="fill_parent"
                                 android:layout_height="wrap_content"
                                 class="com.bla.HeaderFragment_"/>


我的活动扩展了FragmentActivity

运行应用程序时出现此异常:

.....

Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class android.support.v4.app.Fragment
at android.view.LayoutInflater.createView(LayoutInflater.java:508)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
at android.app.Activity.setContentView(Activity.java:1657)
at com.tagonsoft.codecamp.MainActivity_.setContentView(MainActivity_.java:46)
at com.tagonsoft.codecamp.MainActivity_.onCreate(MainActivity_.java:31)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
... 11 more

Caused by: java.lang.NoSuchMethodException: Fragment(Context,AttributeSet)
at java.lang.Class.getMatchingConstructor(Class.java:643)
at java.lang.Class.getConstructor(Class.java:472)
at android.view.LayoutInflater.createView(LayoutInflater.java:480)
... 22 more


知道为什么吗?

最佳答案

尝试使用<fragment>标记和name属性作为类名。另外,您将类名用作com.bla.HeaderFragment_,似乎是一个错字。

<fragment android:id="@+id/myFragment"
          android:name="com.bla.HeaderFragment_"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
                                 />


更多示例here

关于android - Android Fragment支持,java.lang.NoSuchMethodException:Fragment(Context,AttributeSet),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12840155/

10-10 02:05