0

画像を描画するためのキャンバスを含むアクティビティを開発しました。アクティビティを呼び出すメニューがあります(このアクティビティは画像のリストを表示します)。リストから絵を選んだら、この絵をキャンバスに描く必要があります。したがって、私の問題は、この写真をActivity1の listView からActivity2のキャンバスに送信する方法です。

これは私のコードです:

アクティビティ1

case R.id.menu_prefs:
        Intent i = new Intent(TpMainActivity.this, ListViewImagesActivity.class);
        startActivity(i);
        return true;

Acitvity2 (リスト ビューの写真)

public class ListViewImagesActivity extends Activity {
/** Called when the activity is first created. */
private PaintView paintView;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ArrayList<ItemDetails> image_details = GetSearchResults();

    final ListView lv1 = (ListView) findViewById(R.id.listV_main);
    lv1.setAdapter(new ItemListBaseAdapter(this, image_details));

    lv1.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
                                Thread thread = new Thread() {
                    //  @Override
                    public void run() {
                    try {
                        InputStream bitmap=getAssets().open("a.gif");
                        Bitmap bit=BitmapFactory.decodeStream(bitmap);
                        paintView.setBitmap(bit);
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    }
                    };
                    thread.start();

        }  
    });
}
4

1 に答える 1

0

activity1 で startActivity ではなく startActivityForResult を呼び出すようにします。その後、アクティビティ 2 で終了が呼び出されたときに結果を返すことができます。Activity1 は onActivityResult を実装する必要があります。アクティビティ 2 は、アクティビティ 1 に送り返されるインテントでパスを返すことができます。

于 2013-01-18T23:25:17.303 に答える