Android图片不会出现在Fragment中

时间:2016-10-29 14:37:29

标签: android android-fragments fragmentstatepageradapter

我做了一个扩展活动的应用程序,一切正常。 为了改进应用程序,我将活动更改为Fragment(使用onCreateView,onActivityCreated),但现在所有图像都没有显示。 我没有收到任何错误。

我使用FragmentStatePagerAdapter打开FragmentActivity中的Fragments。

我有什么遗失的吗?

片段XML:

<RelativeLayout 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"
    android:padding="10dp"
    >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="170dp"
        android:maxWidth="170dp"
        android:minHeight="170dp"
        android:maxHeight="170dp"
        app:srcCompat="@drawable/logo_pic"
        android:id="@+id/iv_profile_img"
        android:layout_below="@+id/relativeview_search_bar"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="12dp"
        android:background="@drawable/circle_image"
        />
</RelativeLayout>

片段类:

public class TempActivity extends Fragment {

    private static final String TAG = "SearchCars";

    ArrayList<ListUser> userChatItems;
    MessagesAdapter mAdapter;

    FragmentActivity con;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.activity_listview_users_profiles, container, false);
    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //con = this.getContext();
        con = this.getActivity();

        Log.v(TAG, "Initializing ...");

        View v = getView();
    }
}

PageAdapter:

public class PageAdapter extends FragmentStatePagerAdapter {

    public PageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return new MyProfileActivity();
            default:
                break;
        }
        return null;
    }

    @Override
    public int getCount() {
        return 1;
    }
}

主要碎片活动:

public class MainFragmentActivity extends FragmentActivity{

    ViewPager viewpager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_fragment);

        viewpager = (ViewPager) findViewById(R.id.pager);
        PageAdapter pageAdapter = new PageAdapter(getSupportFragmentManager());
        viewpager.setAdapter(pageAdapter);
    }

}

1 个答案:

答案 0 :(得分:8)

我发现如果我改为 android:src 而不是 app:srcCompat 一切正常。

从AppCompatActivity扩展时,最好使用app:secCompat 但是,当我使用Fragment时,它不再起作用了。