所以我制作了一个简单的组织应用程序,一旦我将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();
    }
}

08-17 21:13