Commonsware CWAC-Camera를 구현하려고하는데 기존 단편에 통합하는 데 문제가 있습니다.Commonsware CWAC 스위칭 단편
.add 또는 .replace를 사용할 수없는 문제가 발생하며 CameraFragment를 Fragment로 변경해야합니다.
ERROR:
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();
}
}
"나는 .add 또는 .replace 사용할 수 없으며 그것은 나를 조각에 CameraFragment을 변경하고자"즐기 - 나는 당신이 무슨 뜻인지 모르겠어요. 정확한 메시지를 제공하고 무엇이 메시지를 표시하는지 알려주십시오 (IDE? LogCat? 다른 것?) 내가 추측해야만 한 것은 잘못된 가져 오기가 있으며 조각 백 포트와 기본 API 수준 11+ 조각을 혼합하려고 시도하는 중입니다. 그러나 그것은 단지 추측입니다. – CommonsWare
FragmentTransaction 형식의 add (int, Fragment, String) 메서드는 인수 (int, CameraFragment, String)에 적용 할 수 없습니다. –
방금 오류가 포함되었습니다. 빠른 수정은 "f를 Fragment로 변경"을 읽습니다. 내 사과. –