在第一个 Activity 中,我有一个微调器和一个按钮。我想这样做,以便在选择微调器选项然后单击按钮时,打开一个新 Activity 并在 TextView 中显示微调器选项(连同有关它的其他信息)。简而言之,我正在尝试使用 intent 发送和检索数据,然后在之后添加其他信息,我想我会使用 putExtra() 方法。
这里我有一个指向第二页的按钮,我试图通过 Intent 存储微调器的对象。
主 Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button yourButton = (Button) findViewById(R.id.done);
yourButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, Selected.class);
intent.putExtra("new_variable_name","value");
startActivity(intent);
}
});
这是 Selected.class(第二个 Activity ) 我想检索微调器信息并将其放入 TextView 中。
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("new_variable_name");
}
}
此外,这是名为“person_array”的微调器数组:
<string-array name="person_array">
<item>Nick</item>
<item>Isaac</item>
<item>Sally</item>
<item>Matt</item>
<item>Tim</item>
</string-array>
最佳答案
您的代码中的问题是您正在创建两个不同的 Intent 对象。前者填充了字符串:
Intent i = new Intent(getApplicationContext(), Spinner.class);
i.putExtra("new_variable_name","value");
然后您使用后者为所选 Activity 加注星标。
startActivity(new Intent(MainActivity.this, Selected.class));
你应该只使用一个
Intent intent = new Intent(MainActivity.this, Selected.class);
intent.putExtra("new_variable_name","value");
startActivity(intent);
关于android - 使用 Intent 通过按钮将微调器对象传递给新 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28440826/