이 사이트 덕분에 액티비티간에 String 값을 전달하는 방법을 알았지 만 이미지를 전달하는 데 문제가 있습니다. 내가하려는 것은 사용자가 갤러리를 열고 사진을 선택할 수있는 버튼을 클릭하게하십시오. 그런 다음 ImageView를 표시하는 다른 활동을 여는 다른 버튼이 있습니다. ImageView의 이미지를 이전 활동에서 선택한 이미지로 만들 수 있기를 원합니다. 여기 다른 활동에 이미지 전달하기
내가 갤러리를 열고 선택한 이미지 검색을 클릭있어 버튼을 가지고있는 클래스입니다 :public class PreviewScreen extends Activity implements View.OnClickListener
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.previewscreen);
Bundle fieldresults = this.getIntent().getExtras();
String backgroundpath = fieldresults.getString("bitmap");
String background = BitmapFactory.decodeFile(backgroundpath);
ImageView gallerypic = (ImageView) findViewById(R.id.gallerypic);
gallerypic.setImageBitmap(background);
}
}
: 여기
public class EnterEdit extends Activity implements View.OnClickListener
{
private static final int SELECT_IMAGE = 0;
String filepath;
Bundle fieldresults;
Intent b;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.enteredit);
Button selectwallpaper = (Button) findViewById(R.id.selectwallpaper);
selectwallpaper.setOnClickListener(this);
Button previewwallpaper = (Button) findViewById(R.id.previewwallpaper);
previewwallpaper.setOnClickListener(this);
fieldresults = new Bundle();
b = new Intent(this, PreviewScreen.class);
}
@Override
public void onClick(View view)
{
switch (view.getId())
{
case R.id.selectwallpaper:
Intent gallery = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, SELECT_IMAGE);
break;
case R.id.previewwallpaper:
startActivity(b);
}
break;
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
if (requestCode == SELECT_IMAGE)
{
Uri selectedimage = data.getData();
String[] filepathcolumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedimage, filepathcolumn, null, null, null);
cursor.moveToFirst();
int columnindex = cursor.getColumnIndex(filepathcolumn[0]);
filepath = cursor.getString(columnindex);
cursor.close();
fieldresults.putString("bitmap", filepath);
b.putExtras(fieldresults);
}
}
}
}
과를 선택한 이미지를 표시해야하는 클래스입니다
selectedImage
또는 b.putExtra("bitmap", selectedimage);
라인에 선택한 이미지를 전달해야한다면 확실하지 않은 내용이 OnActivityResult
에 있습니다. 나는 둘 다 시도했지만 두 번째 활동에 대한 이미지를 보지 못했습니다. 또한 이미지 뷰를 올바르게 설정하는 경우 PreviewScreen
클래스에서 확실하지 않았습니다. 어떤 도움을 주셔서 감사합니다. 감사.
그래서 "filepath"변수 (줄에서 하나)를 전달하겠습니까 문자열 filepath = cursor.getString (columnindex) – joelreeves
예 ... 그런 다음 활동 B의 이미지를 디코딩합니다. 어떻게해야합니까 :) – Cristian
OK 약간의 수정 작업을했지만 ImageView는 두 번째 활동에서 여전히 비어 있습니다. 나는 그것을 첫 번째 클래스에서 올바르게 전달하고 두 번째 클래스에서 올바르게 참조하고 있는가? 지금까지 도움을 주셔서 감사합니다. – joelreeves