使用Intents android Studio

时间:2015-10-23 20:10:34

标签: android

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Intent fi = getIntent();
    if (fi.getExtras() != null) {
        Rating = fi.getStringExtra("KEY_rating");
        Toast.makeText(getApplicationContext(), "Thanks for giving us " + Rating + " stars", Toast.LENGTH_LONG).show();
    }
}

代码降低。

public void onSaveInstanceState(Bundle savedInstanceState) {
    //save users values
    super.onSaveInstanceState(savedInstanceState);
    savedInstanceState.putDouble(SAVED_VALUE, dblInput);
}

protected void onCreate(Bundle savedInstanceState)我遇到了错误 和public void onCreate(Bundle values) 它现在已经修复,这是从另一个活动中获取意图的正确方法。

4 个答案:

答案 0 :(得分:3)

方法onCreate重复。我认为您使用protected void onCreate(Bundle savedInstanceState)方法和使用public void onCreate(Bundle values)方法的接口扩展了一个类。

如果是这种情况,那么您应该将所有代码与公共可见性的实施中的适当修改放在一起,并删除具有受保护可见性的实现。

如果没有,请选择最佳可见性实施并将所有代码放在那里,删除其他代码。

答案 1 :(得分:2)

方法onCreate重复。

答案 2 :(得分:2)

  抱歉,我不遵循:/ - martin drap

试一试:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Intent fi = getIntent();
    if (fi.getExtras() != null) {
        Rating = fi.getStringExtra("KEY_rating");
        Toast.makeText(getApplicationContext(), "Thanks for giving us " + Rating + " stars", Toast.LENGTH_LONG).show();
    }

    if (savedInstanceState != null){
        dblInput = savedInstanceState.getDouble("");
    }
}

答案 3 :(得分:0)

你不能在一个类中使用两个具有相同签名的方法:所以重命名其中一个

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Intent fi = getIntent();
if (fi.getExtras() != null) {
    Rating = fi.getStringExtra("KEY_rating");
    Toast.makeText(getApplicationContext(), "Thanks for giving us " +
       Rating + " stars", Toast.LENGTH_LONG).show();
}


}
//@Override
public void onCreate_duplicate(Bundle values) {
if (values != null){
    dblInput = values.getDouble("");
}
}