ボタンを押すと、別のアクティビティの画像を含むリストにアイテムを追加するアクティビティを作成したいと考えています。画像とテキストでリストを作成するためのベースアダプターを使用しています。画像はSDカードから選択され、テキストは編集テキストに入力されます。
これは、新しいアイテムが追加されるアクティビティです:
public class Add extends Menu_Activity implements OnClickListener {
ImageView img;
Bitmap bmp;
private static int REQ_IMAGE = 1;
String title = null;
String picturePath;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.add);
ss = new Start_Screen();
Button btnBrowse = (Button) findViewById(R.id.btnBrowse);
Button btnSave = (Button) findViewById(R.id.btnSave);
img = (ImageView) findViewById(R.id.imgSong);
EditText etTitle = (EditText) findViewById(R.id.etTitle);
title = etTitle.getText().toString();
if (title != null) {
btnSave.setVisibility(View.VISIBLE);
}
btnBrowse.setOnClickListener(this);
btnSave.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btnBrowse:
Intent i = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, REQ_IMAGE);
break;
case R.id.btnSave:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQ_IMAGE && resultCode == RESULT_OK) {
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]);
picturePath = cursor.getString(columnIndex);
cursor.close();
bmp = BitmapFactory.decodeFile(picturePath);
img.setImageBitmap(bmp);
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
btnSave がクリックされると、このアクティビティに新しいアイテムが表示されるようにします:
public class Start_Screen extends Menu_Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.start_screen);
ListView list = (ListView)findViewById(R.id.soundslist);
List<Bitmap> lbmp = new ArrayList<Bitmap>();
List<String> ltitles=new ArrayList<String>();
lbmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.cobblestone));
lbmp.add(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
ltitles.add("I'm Blue");
ltitles.add( "Eminem-Lose Yourself");
Bitmap[] bmp = lbmp.toArray(new Bitmap[lbmp.size()]);
String[] titles=ltitles.toArray(new String[ltitles.size()]);
Custom_Adapter adapter = new Custom_Adapter(this, bmp, titles);
list.setAdapter(adapter);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}