所以我制作了一个简单的组织应用程序,一旦我将getIntent()设置为我使用的.putExtra()变量,它就不会在视图之间传输数据,可能是因为我从另一个应用程序复制了代码制造和改编它还是什么?因为当我这样做getStringExtra
它显示为null(我已经通过将一些按钮文本设置为getStringExtra进行测试,并且显示为空白)并且没有值。即使一切正确,也可以有人看一下这个,告诉我怎么了吗?
主要活动的代码
@Override
public void onResume() {
super.onResume();
if(test==1){
Intent itemCreate = getIntent();
itemName = itemCreate.getStringExtra(CreateItem.NAME_TEXT);
itemLocation = itemCreate.getStringExtra(CreateItem.LOCATION_TEXT);
itemDesc = itemCreate.getStringExtra(CreateItem.DESC_TEXT);
items.add(new Item(itemName, itemLocation, itemDesc));
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);
// itemNames.add(items.get(items.size()-1).getName());
addItem.setText(itemName);
toast.show();
if(items!=null) {
lv.setAdapter(adapter);
} //toast.show();
}
}
发送活动中的代码
public void openMainActivity() {
editName = (EditText) findViewById(R.id.itemNameText);
editLoc = (EditText) findViewById(R.id.itemLocationText);
editDesc = (EditText) findViewById(R.id.itemPriceText);
String name = editName.getText().toString();
String location = editLoc.getText().toString();
String desc = editDesc.getText().toString();
Intent itemCreate = new Intent(this, MainActivity.class);
itemCreate.putExtra(NAME_TEXT, name);
itemCreate.putExtra(LOCATION_TEXT, location);
itemCreate.putExtra(DESC_TEXT, desc);
itemCreate.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(itemCreate);
}
最佳答案
在接收活动中,您尝试过以下操作:
@Override
public void onResume() {
super.onResume();
if(test==1){
Intent itemCreate = getIntent();
Bundle bundle = intent.getExtras();
if (bundle != null) {
itemName = itemCreate.getString(CreateItem.NAME_TEXT);
itemLocation = itemCreate.getString(CreateItem.LOCATION_TEXT);
itemDesc = itemCreate.getString(CreateItem.DESC_TEXT);
items.add(new Item(itemName, itemLocation, itemDesc));
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);
// itemNames.add(items.get(items.size()-1).getName());
addItem.setText(itemName);
toast.show();
}
if(items!=null) {
lv.setAdapter(adapter);
} //toast.show();
}
}