簡體   English   中英

顯示來自android中ArrayList的數據從一個活動到另一個活動

[英]Display data from ArrayList in android from one activity to another activity

我想在單擊按鈕時顯示汽車規格信息。 附上插圖。 數組列表中的數據。 到目前為止我的代碼:

@Override
    public void onBindViewHolder(@NonNull final CardViewHolder holder, int position) {
        Car car = listCar.get(position);
        Glide.with(holder.itemView.getContext())
                .load(car.getFoto())
                .apply(new RequestOptions().override(350, 550))
                .into(holder.imgFoto);
        holder.tvCarName.setText(car.getName());
        holder.tvCarSpecs.setText(car.getSpecs());

        holder.btnSpec.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent detailCar= new Intent(v.getContext(), DetailActivity.class);
                v.getContext().startActivity(detailPage);
            }
        });
}

從活動獲取數據到另一個活動

詳細活動代碼

public class DetailActivity extends AppCompatActivity {

    private ArrayList<Car> listCar;

    public DetailActivity(ArrayList<Car> list) {
        this.listCar = list;
    }

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

         Intent intent = getIntent();
         listElang = (ArrayList<Elang>) intent.getSerializableExtra("DATA");


    }
}

首先,您必須將 Car 類設置為可打包,然后您可以將 car 對象傳遞給另一個活動

Intent detailCar= new Intent(v.getContext(), DetailActivity.class);
detailCar.putExtra("item",car)
v.getContext().startActivity(detailCar);

在 DetailActivity 中只獲取對象

onCreate(Bundle savedInstanceState){
  if(getIntent()!=null && getIntent.getParcelableExtra("item")!=null){
     Car car=(Car)getIntent().getParcelable("item")
  }
}

對於初學者教程,請檢查此鏈接

要在按鈕單擊時顯示汽車規格信息,您可以使用意圖將數據從一個活動傳遞到另一個活動。

首先創建一個Serializable模型類

像這樣:

public class DemoModel implements Serializable{
String name;
String number;

  public DemoModel(String name, String number){
  this.name=name;
  this.number=number;
 }

public String getName(){
  return name;
 }

public void setName(String name){
  this.name=name;
}

public String getNumber(){
  return number;
}

public void setNumber(String number){
  this.number=number;
}

}

OnItemClick ArrayListdatalist;

 Intent intent=new Intent(this,FirstActivity.class);
            intent.putExtra("car_detail",datalist.get(i));
            startActivity(intent);

第二個活動

DemoModel cardetail= (DemoModel) getIntent().getSerializableExtra("car_detail");
  Log.e("check_response", ""+cardetail.getName()));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM