将浮动从一个活动发送到另一个活动

Pie*_*rre 2 android android-activity

我正在开始 android 开发,但我不知道为什么我的代码不起作用。目标很简单:我有一个主要活动、一个菜单和第二个活动。我想从主活动发送一个浮点值到第二个活动,但是..它不起作用!

这是我的 main 代码:

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.menu_about:
        Intent intent = new Intent(MainActivity.this, AboutActivity.class);
        startActivity(intent);

        return true;
    case R.id.menu_home:

        return true;
    case R.id.menu_settings:        
        intent = new Intent(MainActivity.this, SettingsActivity.class);
        startActivity(intent);

        return true;
    case R.id.menu_battstat:
        intent = new Intent(MainActivity.this, StatsActivity.class);
        intent.putExtra("consumOn", 4);
        intent.putExtra("consumOff", 5);
        startActivity(intent);

        return true;
    default:
        return super.onOptionsItemSelected(item);
    }

}
Run Code Online (Sandbox Code Playgroud)

和 StatsActivity.class

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

    Intent intent = getIntent();

    float consumOn  = intent.getFloatExtra("consumOn", 0);
    float consumOff = intent.getFloatExtra("consumOff", 0);

    EditText editTextA = (EditText)findViewById(R.id.editText1);
    editTextA.setText(String.valueOf(consumOn), TextView.BufferType.EDITABLE);

    EditText editTextB = (EditText)findViewById(R.id.editText2);
    editTextB.setText(String.valueOf(consumOff), TextView.BufferType.EDITABLE);
} 
Run Code Online (Sandbox Code Playgroud)

当我启动代码时,它仍然是 0,而不是 4 和 5。有什么想法吗?谢谢。

map*_*dev 5

替换getFloatExtra

Bundle bundle = getIntent().getExtras();
float yourFloat = bundle.getFloat("key");
Run Code Online (Sandbox Code Playgroud)