我已经看到了关于这个问题的其他几个问题,但似乎都没有解决我的问题.我有一个工作正常的自定义相机应用程序,除缩放按钮外的所有东西.这是使用SDK min 8 target 14的代码:
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
if (isPreviewing){
camera.stopPreview();
}
Camera.Parameters p = camera.getParameters();
p.setPreviewSize(sizes.get(0).width, sizes.get(0).height);
p.setColorEffect(effect);
zoomControls = (ZoomControls) findViewById(R.id.zoomControls);
if (p.isZoomSupported()) {
maxZoomLevel = p.getMaxZoom();
Toast.makeText(PictureTaker.this, String.valueOf(maxZoomLevel),Toast.LENGTH_LONG).show();
zoomControls.setIsZoomInEnabled(true);
zoomControls.setIsZoomOutEnabled(true);
zoomControls.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View v) {
if (currentZoomLevel < maxZoomLevel) {
currentZoomLevel++;
camera.startSmoothZoom(currentZoomLevel);
//Toast.makeText(PictureTaker.this, String.valueOf(currentZoomLevel),Toast.LENGTH_LONG).show();
}
}
});
zoomControls.setOnZoomOutClickListener(new OnClickListener() {
public void onClick(View v) {
if (currentZoomLevel > 0) {
currentZoomLevel--;
camera.startSmoothZoom(currentZoomLevel);
}
}
}); …Run Code Online (Sandbox Code Playgroud) 这是第一次发布海报,请原谅任何发布错误.也是Android的新手,我在试图找出共享偏好问题时遇到了问题.我声明我的常量如下
private static SharedPreferences mSharedPreferences;
static final String TWEET = null;
static final String MEAL_ID = null;
Run Code Online (Sandbox Code Playgroud)
和我的共同偏好如下
mSharedPreferences = getApplicationContext().getSharedPreferences(
"MyPref", 0);
Run Code Online (Sandbox Code Playgroud)
我的简单测试代码如下:
String msgTemp = "testing";
long iDTest = 234;
Editor e = mSharedPreferences.edit();
e.putLong(MEAL_ID, iDTest);
e.putString(TWEET, msgTemp);
e.commit();
String tempMsg = mSharedPreferences.getString(TWEET, "");
long tempId = mSharedPreferences.getLong(MEAL_ID, 0);
Toast.makeText(getApplicationContext(),
"Msg: " + tempMsg + " " + "ID: " + tempId, Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
返回以下错误:
03-25 15:47:41.386: E/AndroidRuntime(28321): java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long03-25 15:47:41.386: E/AndroidRuntime(28321): at android.app.SharedPreferencesImpl.getLong(SharedPreferencesImpl.java:228) …Run Code Online (Sandbox Code Playgroud)