gpt4 book ai didi

android - Commonsware CWAC 切换 fragment

转载 作者:行者123 更新时间:2023-11-30 02:39:20 29 4
gpt4 key购买 nike

我正在尝试实现 Commonsware CWAC-Camera,但遇到了将其整合到现有 fragment 中的问题。

我遇到无法使用 .add 或 .replace 的问题,它要我将 CameraFragment 更改为 Fragment。

错误:

The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, CameraFragment, String)

<uses-sdk
android:minSdkVersion="13"
android:targetSdkVersion="21" />


import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageButton;

import com.commonsware.cwac.camera.CameraFragment;




public void takePicture() {

CameraFragment f = new CameraFragment();
getFragmentManager().beginTransaction()
.add(R.id.contentFragment, f, TAG_CAMERA_FRAGMENT)
.commit();
}

有没有人遇到过这种情况?这是整个 fragment 。

public class FeedActivity extends Fragment implements OnClickListener {

ImageButton btnCamera, btnGallery;
private final String TAG_CAMERA_FRAGMENT = "camera_fragment";

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.activity_feed, container, false);

btnCamera = (ImageButton) view.findViewById(R.id.btn_Camera);
btnCamera.setOnClickListener(this);
btnGallery = (ImageButton) view.findViewById(R.id.btn_Gallery);
btnGallery.setOnClickListener(this);

return view;
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {

case R.id.btn_Camera:
Log.e("CAMERA", "CAMERA BUTTON PRESSED");
//takePicture();
break;

case R.id.btn_Gallery:
Log.e("Gallery", "GALLERY BUTTON PRESSED");
break;

}

}

public void takePicture() {

CameraFragment f = new CameraFragment();
getFragmentManager().beginTransaction()
.add(R.id.contentFragment, f, TAG_CAMERA_FRAGMENT)
.commit();
}
}

最佳答案

import android.support.v4.app.Fragment;

和:

import com.commonsware.cwac.camera.CameraFragment;

不相容。您需要决定是要使用来自 Android 支持包的 fragment 向后移植,还是要使用 native API 级别 11+ fragment 。并且您需要修改整个 Activity 以支持您的选择(例如,如果您使用的是反向端口,则继承自 FragmentActivity)。

如果你想使用反向移植,你需要使用 camera-v9 库并导入 com.commonsware.cwac.camera.acl.CameraFragment,虽然这也使用 ActionBarSherlock。如果您想要 fragment 的反向移植而不是 ActionBarSherlock,您将需要 fork 我的一个 CameraFragment 实现来支持该组合。

关于android - Commonsware CWAC 切换 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995991/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com