小编jua*_*ile的帖子

DialogFragment中的ViewPager + FragmentPagerAdapter获取"IllegalArgumentException:找不到视图..."

我试图显示一个FragmentDialog(创建并显示为一个未添加为视图层次结构中的内容的对话框),其中有一个ViewPager,其内容由FragmentPagerAdapter给出(提供由图像组成的片段).

从FragmentActivity显示ViewPager + FragmentPagerAdapter时,代码非常完美,但从FragmentDialog执行此操作时会出现以下异常:

"IllegalArgumentException:找不到片段SimpleFragment的id 0x7f040077的视图......"

这是我的代码:

一个SherlockFragmentActivity,带有一个按钮,用于创建和显示对话框.

public class BorrameActivity extends SherlockFragmentActivity{
    @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.one_act);

    Button button = (Button) findViewById(R.id.button);
    button.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View arg0) {
            showTheDialog();

        }});
   }

   private void showTheDialog(){
       AchGalleryDialog newFragment = AchGalleryDialog.newInstance(achs);
       newFragment.show(getSupportFragmentManager(), "dialog");
   }
Run Code Online (Sandbox Code Playgroud)

FragmentDialog:

public class AchGalleryDialog extends DialogFragment{
    public AchGalleryDialog(){  
}

    public static AchGalleryDialog newInstance(){       
        AchGalleryDialog f = new AchGalleryDialog();
        return f;       
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  
    }

    @Override
    public View onCreateView(LayoutInflater …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager fragmentpageradapter android-nested-fragment

35
推荐指数
1
解决办法
2万
查看次数

CollapsingToolbarLayout中的ImageView在某些设备中不可见

我正在使用CollapsingToolbarLayout,里面有两个图像,一个用于背景,一个用作上部徽标.我们的想法是让它们成为视差.这个东西在物理设备的Android 5中运行良好,但在具有较低版本的设备(或仿真器)中不行.有点奇怪.

这是我的布局:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <NestedScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" >

        <FrameLayout
            android:id="@+id/fragment_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:background="#fff">

            <!--content--> 
        </FrameLayout>

    </NestedScrollView>

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="400dp"
        android:background="#222">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll">
            <ImageView
                android:id="@+id/header_bk"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/background"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7"
                />
            <ImageView
                android:id="@+id/header_logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:src="@drawable/ic_logo"
                app:layout_collapseMode="parallax"
                android:background="#44ff0000"
                />
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

android android-design-library android-coordinatorlayout android-collapsingtoolbarlayout

7
推荐指数
1
解决办法
5301
查看次数

将JDO项目迁移到google cloud端点v2,服务器返回NoClassDefFoundError

我尝试使用JDO从端点v1迁移到谷歌云项目到v2.我已经按照迁移指南和一些解决方案来尝试使数据核心插件增强我的类,并将它们上传到谷歌云,但没有运气.

我将发布build.gradle,然后在客户端尝试连接到端点时返回服务器错误,这是一个NoClassFound错误.

的build.gradle:

buildscript {
    repositories {
        mavenCentral()
        mavenLocal()
    }
    dependencies {
        // App Engine Gradle plugin
        classpath 'com.google.cloud.tools:appengine-gradle-plugin:1.3.3'

        // Endpoints Frameworks Gradle plugin
        classpath 'com.google.cloud.tools:endpoints-framework-gradle-plugin:1.0.2'

    }
}

repositories {
    mavenCentral();
    jcenter()
}

apply plugin: 'java'
apply plugin: 'war'

// [START apply_plugins]
apply plugin: 'com.google.cloud.tools.appengine'
apply plugin: 'com.google.cloud.tools.endpoints-framework-server'
// [END apply_plugins]

dependencies {
    compile ('com.google.endpoints:endpoints-framework:2.0.8') {
        exclude group: 'com.google.guava', module: 'guava-jdk5'
    }

    compile 'javax.servlet:servlet-api:2.5'
    compile 'com.ganyo:gcm-server:1.0.2'
    compile 'javax.jdo:jdo-api:3.0.1'
    compile 'org.datanucleus:datanucleus-core:3.1.3'
    compile 'org.datanucleus:datanucleus-api-jdo:3.1.3'
    compile 'org.datanucleus:datanucleus-accessplatform-jdo-rdbms:4.1.1'
    compile 'com.google.appengine.orm:datanucleus-appengine:2.1.2'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'org.apache.commons:commons-lang3:3.5' …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine android google-cloud-storage google-cloud-platform

7
推荐指数
1
解决办法
127
查看次数

将transitionSet应用于Fragment内容过渡中的单个View会产生重复的视图效果

我的目标是在片段之间创建内容转换,其中Fade()和Slide()仅应用于片段上的一个视图。执行过渡(在这种情况下为exitTransition)时,视觉效果是视图被复制,一个副本滑动,另一个副本淡化,而不是视图同时滑移和褪色。

一些代码:

Fragment currentFragment = getSupportFragmentManager().getFragments().get(0);
Fragment fragment = EmailSearchFragment.newInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    fragment.setEnterTransition(new Slide(Gravity.RIGHT)); 
    currentFragment.setExitTransition(TransitionInflater.from(this).inflateTransition(R.transition.slide_and_fade));             
}

getSupportFragmentManager()
    .beginTransaction()
    .replace(R.id.fragment_container, fragment)
    .addToBackStack(null)
    .commit();
Run Code Online (Sandbox Code Playgroud)

这里是过渡:

public class DetailsTransition extends TransitionSet {
    public DetailsTransition() {
        init();
    }

    /**
     * This constructor allows us to use this transition in XML
     */
    public SlideAndFadeTransitionSet(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {
        setOrdering(ORDERING_TOGETHER);
        addTransition(new Fade()).
        addTransition(new Slide(Gravity.TOP));
    }
}
Run Code Online (Sandbox Code Playgroud)

并且,这里的xml以过渡的单一视图为目标:

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" class="com.adidas.connect.app.transition.DetailsTransition">
    <targets>
        <target …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-transitions

5
推荐指数
1
解决办法
628
查看次数