【问题标题】:Cannot resolve method putExtra无法解析方法 putExtra
【发布时间】:2017-12-13 01:08:51
【问题描述】:

我正在使用 Android Studio 中的一个应用程序,该应用程序使用学校意图传递数据。我已经创建了我的对象来传递数据并启动了Intent,但我不断收到警告说我的putExtra 方法无法解析。有任何想法吗? 提前致谢。

public class MainActivity extends AppCompatActivity {

private ContactInfo contactobject;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Bundle extra = getIntent().getExtras();
    contactobject = (ContactInfo)extra.get("contact");
    if (contactobject == null )
        contactobject = new ContactInfo();

    TextView name1 = (TextView) findViewById(R.id.Name1);
    name1.setText(contactobject.getOneName());

    TextView phone1 = (TextView) findViewById(R.id.Phone1);
    phone1.setText(contactobject.getOnePhone());

    TextView email1 = (TextView) findViewById(R.id.Email1);
    email1.setText(contactobject.getOneEmail());

    TextView kin1 = (TextView) findViewById(R.id.Kin1);
    kin1.setText(contactobject.getOneKin());

    TextView name2 = (TextView) findViewById(R.id.Name2);
    name2.setText(contactobject.getTwoName());

    TextView phone2 = (TextView) findViewById(R.id.Phone2);
    phone2.setText(contactobject.getTwoPhone());

    TextView email2 = (TextView) findViewById(R.id.Email2);
    email2.setText(contactobject.getTwoEmail());

    TextView kin2 = (TextView) findViewById(R.id.Kin2);
    kin2.setText(contactobject.getTwoEmail());

}


public void EditPrimary(View view)
{
    Intent intent1 = new Intent(getApplicationContext(), Edit1.class);
    Intent intent = intent1.putExtra("contact", contactobject);
    startActivity(intent1);
}

}

【问题讨论】:

  • public void EditPrimary(View view) { Intent intent1 = new Intent(getApplicationContext(), intent1.putExtra("contact", contactobject); startActivity(intent1); }

标签: android


【解决方案1】:
int Number;
etNumber = (EditText)findViewById(R.id.etNumber);
Number = Integer.parseInt(etNumber.getText().toString());
Intent i = new Intent(getApplicationContext(),Result.class);
Bundle bundle = new Bundle();
bundle.putInt("Number",Number);
i.putExtras(bundle);
startActivity(i);

【讨论】:

【解决方案2】:

有两点:

第1点:不需要将intent1.putExtra("contact", contactobject);值赋给其他变量

第 2 点:您的 ContactInfo必须实现类 ParcelableSerializable,而您通过 Intent 传递它。

请参阅this post 了解如何创建课程Parcelable

我确定你错过了第二点。

【讨论】:

【解决方案3】:

您不能将 putExtra 调用分配给新的意图变量:

public void EditPrimary(View view)
{
    Intent intent1 = new Intent(getApplicationContext(), Edit1.class);
    intent1.putExtra("contact", contactobject);
    startActivity(intent1);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 2015-06-10
    • 2019-08-28
    • 2019-10-10
    • 2019-06-13
    相关资源
    最近更新 更多