我正在尝试将List mCartList的内容放入;进入下面的sms_body,例如:Cheeseburger,Hamburger,Fries(所以它可以通过短信发送)。我可以传递一个字符串,所以我知道它有效。我根本不是一个程序员,这是我做审判的一个月。错误。
在活动下方将mCartList的内容调用到List中,以便可以删除它们。告诉我你需要什么,以帮助我解决这个问题。提前谢谢。
private ProductAdapter mProductAdapter;
// This List into the order button below
private List<Product> mCartList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.shoppingcart);
mCartList = ShoppingCartHelper.getCart();
// Make sure to clear the selections
for(int i=0; i<mCartList.size(); i++) {
mCartList.get(i).selected = false;
}
// Create the list
final ListView listViewCatalog = (ListView) findViewById(R.id.ListViewCatalog);
mProductAdapter = new ProductAdapter(mCartList, getLayoutInflater(), true);
listViewCatalog.setAdapter(mProductAdapter);
listViewCatalog.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Product selectedProduct = mCartList.get(position);
if(selectedProduct.selected == true)
selectedProduct.selected = false;
else
selectedProduct.selected = true;
mProductAdapter.notifyDataSetInvalidated();
}
});
Button orderButton = (Button) findViewById(R.id.orderButton);
orderButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Uri uri = Uri.parse("smsto:1234567890");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
// The above List<Product> mCartList ia displayed in the window of the app
intent.putExtra("sms_body", "mCartList"); // I want the results of List<Product> mCartList to go here - I can not just insert the variable I just get errors and can't compile
startActivity(intent);
}
});
Button removeButton = (Button) findViewById(R.id.ButtonRemoveFromCart);
removeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Loop through and remove all the products that are selected
// Loop backwards so that the remove works correctly
for(int i=mCartList.size()-1; i>=0; i--) {
if(mCartList.get(i).selected) {
mCartList.remove(i);
}
}
mProductAdapter.notifyDataSetChanged();
}
});
}
这是如何工作的。这是一个4选项卡列表,每个选项卡中有不同的项目,其中3个或产品。客户点击该项目,他们会看到描述,点击添加到购物车,然后再返回菜单。第四个选项卡是刚刚选择的用于填充短信主体的顺序。我已经能够传递一个带有“Hello World”文本的变量。我正在计算List mCartList的结果可以填充sms正文。我假设List不能只是插入到forn的主体而不是转换器。如果您需要更多信息,请告诉我。我不是程序员,我看过类似但没有任何东西,如果没有编写我从教程中获得的其他文件就无法工作。提前谢谢。
答案 0 :(得分:1)
如果所有产品都添加到您的mCartList中,那么只需将产品的String输出连接在一起,如下所示:
orderButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Uri uri = Uri.parse("smsto:1234567890");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
StringBuilder builder = new StringBuilder();
for(Product p : mCartList){
builder.append(p.toString());
builder.append('\n');
}
intent.putExtra("sms_body", builder.toString());
startActivity(intent);
}
});
确保您的产品具有如下定义的toString()方法(示例产品猜测):
public class Product{
String productName;
public String toString(){
return productName;
}
}