Я разрабатываю приложение, в котором есть Arraylist с названием продукта и его количеством.Теперь я хочу сделать намерение поделиться этой информацией в виде списка через WhatsApp, по электронной почте или через все, что он может.Пример:
List<Compartilhar> listaCompras2 = new ArrayList<>( );
//listaCompras2 has a for loop to to get a new content every time the client input a product and quantity.
listaCompras2.add(new Compartilhar(doc.getString("inputNome"), doc.getString("inputQtd")));
fabShare = view.findViewById(R.id.fabShare);
fabShare.setOnClickListener(new View.OnClickListener( ) {
@Override
public void onClick(View v) {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
for (int i=0 ; i < listaCompras2.size(); i++)
{
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Produto: " + listaCompras2.get(0).getProduto() + " Qtd: " + listaCompras2.get(0).);
i++;
}
startActivity(Intent.createChooser(shareIntent, "share Via"));
}
});
import java.util.ArrayList;
import java.util.List;
открытый класс Compartilhar реализует Parcelable {
private List<String> produto;
private List<String> qtd;
public Compartilhar(List<String> produto, List<String> qtd) {
this.produto = produto;
this.qtd = qtd;
}
public List<String> getProduto() {
return produto;
}
public void setProduto(List<String> produto) {
this.produto = produto;
}
public List<String> getQtd() {
return qtd;
}
public void setQtd(List<String> qtd) {
this.qtd = qtd;
}
protected Compartilhar(Parcel in) {
if (in.readByte() == 0x01) {
produto = new ArrayList<String>();
in.readList(produto, String.class.getClassLoader());
} else {
produto = null;
}
if (in.readByte() == 0x01) {
qtd = new ArrayList<String>();
in.readList(qtd, String.class.getClassLoader());
} else {
qtd = null;
}
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
if (produto == null) {
dest.writeByte((byte) (0x00));
} else {
dest.writeByte((byte) (0x01));
dest.writeList(produto);
}
if (qtd == null) {
dest.writeByte((byte) (0x00));
} else {
dest.writeByte((byte) (0x01));
dest.writeList(qtd);
}
}
@SuppressWarnings("unused")
public static final Parcelable.Creator<Compartilhar> CREATOR = new Parcelable.Creator<Compartilhar>() {
@Override
public Compartilhar createFromParcel(Parcel in) {
return new Compartilhar(in);
}
@Override
public Compartilhar[] newArray(int size) {
return new Compartilhar[size];
}
};
}