我想實現Commonsware CWAC-Camera,並且遇到了將它合併到現有片段中的問題。Commonsware CWAC切換片段
我遇到了一個問題,我無法使用.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();
}
有沒有人經歷過這個?這是整個片段。
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();
}
}
「我不能使用。新增或.replace,並要我改變CameraFragment到碎片」 - 我不知道你這是什麼意思。請提供確切的消息,並指出是什麼給你的信息(一個IDE?LogCat?別的?)如果我不得不猜測,你有錯誤的導入,並試圖將片段backport與本地API Level 11+片段混合,但這只是一個猜測。 – CommonsWare 2014-09-23 13:37:46
類型FragmentTransaction中的方法add(int,Fragment,String)不適用於參數(int,CameraFragment,String) – 2014-09-23 13:44:23
我剛纔包含了錯誤。快速修復閱讀「將f更改爲碎片」。我很抱歉。 – 2014-09-23 13:49:58