सरल प्रश्न के लिए क्षमा करें, मैं पूरी तरह से शुरुआती जावा और एंड्रॉइड डेवलपर हूं। सतही चेंज कहा जाता है जब मैं setCameraDisplayOrientation में गतिविधि का उदाहरण कैसे प्राप्त कर सकता हूं?गतिविधि उदाहरण प्राप्त करें
public class MyActivity extends Activity
{
private Camera mCamera;
private CameraPreview mPreview;
public final int cameraId = 0;
public Activity activity = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
activity = this;
// Create an instance of Camera
mCamera = getCameraInstance();
// Create our Preview view and set it as the content of our activity.
mPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mPreview);
}
public void setCameraDisplayOrientation(Activity activity,
int cameraId, android.hardware.Camera camera) {
}
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
...
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
...
setCameraDisplayOrientation(activity, cameraId, mCamera);
....
}
}
}
आपको इसके उदाहरण की आवश्यकता क्यों है। इसकी ओवरराइड विधि, इसमें कुछ गतिविधि संदर्भ होगा। लेकिन फिर भी यदि आप चाहते हैं, तो 'MyActivity.this' – Rajkiran
का उपयोग करने का प्रयास करें, मैं 'this' का उपयोग करता हूं लेकिन सतह क्रैंग होने पर प्रोग्राम क्रैश होता है। ठीक। मैं फिर से जांच करूंगा क्यों प्रोग्राम क्रैश। मुझे संदर्भ में अपनी विधि को कॉल करने के लिए इस उदाहरण की आवश्यकता है: 'activity.getWindowManager()। GetDefaultDisplay() \t .getRotation()' – psct