【发布时间】:2014-08-21 05:27:37
【问题描述】:
我是 android 新手,现在我仍在构建一个包含两个活动的应用程序,首先是 LoginPage,它运行良好,第二个是 UserPage,问题从这里开始。我在 UserPage 上创建了两个 ImageView,我想要的是
- 点击ImageView
- 从相机拍照
- 将其保存到选定的 ImageView
当我单击第一个 ImageView 并从相机保存图片时效果很好,当我单击第二个 imageview 时问题开始,当我拍照并将其保存到第二个 imageview 时,第一个 imageview 中的图片消失了
这是我的代码: 用户.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/image1"
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="centerInside" />
<ImageView
android:id="@+id/image2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_toRightOf="@id/image1"
android:layout_alignTop="@id/image1"
android:scaleType="centerInside" />
</RelativeLayout>
UserPage.java
public class UserPage extends Activity {
ImageView imageView1, imageView2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user);
imageView1 = (ImageView)findViewById(R.id.image1);
imageView1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, 1);
}
});
imageView2 = (ImageView)findViewById(R.id.image2);
imageView2.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent ii = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(ii, 2);
}
});
}//OnCreate
@Override
protected void onActivityResult(int requestCode,
int resultCode, Intent data) {
Bitmap userImage = (Bitmap)data.getExtras().get("data");
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case 1:
if(resultCode == RESULT_OK){
Bundle extras = data.getExtras();
userImage = (Bitmap) extras.get("data");
imageView1.setImageBitmap(userImage);
}//if resultCode Case 1
break;
case 2:
if(resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
userImage = (Bitmap) extras.get("data");
imageView2.setImageBitmap(userImage);
}//if resultCode Case 2
}//Switch
}//onActivityResult
}//UserPage
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pramana.report"
android:versionCode="2"
android:versionName="1.1" >
<uses-sdk
android:minSdkVersion="8"
/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.camera"></uses-feature>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.pramana.report.UserPage"></activity>
</application>
</manifest>
请帮助,我已经搜索并尝试了一些建议,例如 Take multiple images with camera and insert into multiple diffefent imageViews 但它没有工作
对不起,我的英语不好,我的英语不太好
【问题讨论】:
-
它也不起作用,当我将图像保存到 ImageView2 时,ImageView1 仍然丢失图像也许你可以举个例子,以防我错过你的意思
标签: android image android-intent camera imageview