LoginSignup
1
3

More than 5 years have passed since last update.

画面遷移備忘録 listviewからの情報受け渡し

Last updated at Posted at 2017-06-10

画面遷移備忘録

・listviewをタップして画面遷移
・listviewの情報を移動させる

MainActivity

QuantityInfo info =list.get(position);

リストのpositionを取得

intent.putExtra("QuantityInfo", info);

※QuantityInfoの中にはcomment,quanntity,timeの3つの情報が格納
QuantityInfoをそのまま指定しては中のメソッドの場所が分からないのでシリアライズする

QuantityInfoはクラスをintent.putExtraするために、QuantityInfoクラスをimplements Serializable
→シリアライズする事によりintentの中に格納出来る

    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // 画面遷移
        Intent intent = new Intent(getApplication(), DetailActivity.class);
        QuantityInfo info =list.get(position);
        intent.putExtra("QuantityInfo", info);
        startActivity(intent);

    }
}

SubActivity

QuantityInfo info = (QuantityInfo)getIntent().getSerializableExtra("QuantityInfo" );

intentする際QuantityInfo、QuantityInfoのシリアライズされた位置をinfoの中に取りだす

time.setText(info.getTime());
comment.setText(info.getComment());
quantity.setText("" + info.getQuantity());

infoの中の情報をsetTextする

public class DetailActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_detail);
        setTitle("");

        Intent intent = getIntent();
        //MainActivityから値を受け取る
        QuantityInfo info = (QuantityInfo)getIntent().getSerializableExtra("QuantityInfo" );

        //id textView1をt1に当てはめている
        TextView time = (TextView)findViewById(R.id.textView1);
        //id textView1をt2に当てはめている
        TextView comment = (TextView)findViewById(R.id.textView2);
        //id textView1をt3に当てはめている
        TextView quantity = (TextView)findViewById(R.id.textView3);

        //受け取った値を表示
        time.setText(info.getTime());
        comment.setText(info.getComment());
        quantity.setText("" + info.getQuantity());
    }
}

listを選択から画面遷移をさせる事には成功
残りの項目:レイアウトを整える、画像を選択させる、リストに格納再表示。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3