Java putExtra()不适用于按钮:onClick

Java putExtra()不适用于按钮:onClick,java,android,android-intent,onclick,Java,Android,Android Intent,Onclick,我有两个活动,我正在尝试将第一个活动的值放入第二个活动。在第一个活动中,我创建了一个带有onClick参数的按钮 <Button android:id="@+id/naviButton" android:layout_width="match_parent" android:layout_height="60dp" android:text="navigate" android:layout_alignParentBottom="true"

我有两个活动,我正在尝试将第一个活动的值放入第二个活动。在第一个活动中,我创建了一个带有onClick参数的按钮

<Button
    android:id="@+id/naviButton"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:text="navigate"
    android:layout_alignParentBottom="true"
    android:onClick="startNavigation"/>
在GPSActivity中,我有:

public class GPSActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gps);
    TextView XCorTV = (TextView) findViewById(R.id.textView2);
    XCorTV.setText(getIntent().getExtras().getString("SelectedXcor"));
}
}
在我的应用程序中,我什么也看不到。任何文本。如果删除.setText,我可以看到TextView的默认值。我用了一个教程和一个简单的代码,但我的。。不怎么了?
我必须补充一点,SelectedDock是我项目中的第三个活动,在第一个和第二个活动中,我还使用了Intent

您将通过SelectedXCor作为
putExtra
中的键,并使用不同的键进行SelectedXCor检索,这就是您不检索数据的原因

只需更改这个
XCorTV.setText(getIntent().getExtras().getString(“SelectedXCor”);
}

示例代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gps);
    TextView XCorTV = (TextView) findViewById(R.id.textView2);
    XCorTV.setText(getIntent().getExtras().getString("SelectedXCor"));
}
不要硬编码“SelectedXCor”,而是在另一个类中使用最终的静态变量,这样您就可以在整个应用程序中使用该变量,从而最大限度地减少此类错误

创建一个名为“IntentKeys”的类并声明一个变量

public static final String KEYCORE = "SelectedXCor";
现在你想用在哪里就用在哪里

GPSintent.putExtra(IntentKeys.KEYCORE, XCorValue);

XCorTV.setText(getIntent().getExtras().getString(IntentKeys.KEYCORE));
getIntent().getExtras。还给你一包

试试这个,getIntent().getStringExtra(“SelectedXCor”)


你会得到绳子

这是一个输入错误,键是
SelectedXCor
,而不是
SelectedXCor
。在
startNavigation
方法中,“C”是大写的。非常感谢您的回答。我还是忘了这个简单的规则。但是,我在前面使用字符串作为其他字符串对象的名称,一切都是正确的。在我的例子中,它是针对ListView项目的。非常感谢您提供此解决方案和建议。
public static final String KEYCORE = "SelectedXCor";
GPSintent.putExtra(IntentKeys.KEYCORE, XCorValue);

XCorTV.setText(getIntent().getExtras().getString(IntentKeys.KEYCORE));