1

ボタンを押すと、別のアクティビティの画像を含むリストにアイテムを追加するアクティビティを作成したいと考えています。画像とテキストでリストを作成するためのベースアダプターを使用しています。画像は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();
}
4

1 に答える 1