在第一个活动中,我有一个微调器和一个按钮。我想这样做,以便当选择一个微调器选项然后单击该按钮时,将打开一个新活动,并在TextView中显示微调器选项(以及有关它的其他信息)。简而言之,我尝试使用intent发送和检索数据,然后在之后添加其他信息,我想我会使用putExtra()方法。
这里我有按钮指向第二页,我试图通过意图存储微调器的对象。
MainActivity
@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(第二个活动) 我想检索微调器信息并将其放入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>
答案 0 :(得分:3)
Intent i = new Intent(getApplicationContext(), Spinner.class);
i.putExtra("new_variable_name","value");
并使用后者为所选活动加注星标。
startActivity(new Intent(MainActivity.this, Selected.class));
您应该只使用一个
Intent intent = new Intent(MainActivity.this, Selected.class);
intent.putExtra("new_variable_name","value");
startActivity(intent);
答案 1 :(得分:1)
在您的第一个代码段中,您创建一个Intent
(i
),指向不是Android应用程序组件(Spinner
)的内容,在其上添加一个额外内容,以及扔掉它。这没用。
相反,请将您的额外费用放在Intent
使用的startActivity()
上:
startActivity(new Intent(MainActivity.this, Selected.class)
.putExtra("new_variable_name","value"));