我正在尝试在一个活动(SetupMenu)中创建一个按钮,当按下该按钮时,将一个int放入intent中并将其转移到下一个活动(IntroActivity),其中textView将检索int并显示它。 / p>
问题是,当应用程序运行并且我进入活动并按下按钮时,应用程序崩溃,我的模拟器告诉我"不幸的是[我的应用程序]已停止工作。"
我觉得我已经测试了每个可能的角度来实现这个目标。我应该注意到按钮工作正常,textview工作正常,其他一切工作正常 - 当我尝试检索intent并在textView中显示时,我只会遇到问题。我尝试通过String而不是Int并且也有问题(我的字符串不会出现)。有什么指针吗?
SetupMenu活动(这里我把int放入我的意图中):
public class SetupMenu extends Activity {
public final static String extra_progress_key = "com.example.angelsanddemons.track_players";
public int track_players = 0;
public void to_intro(View view) {
Intent intent = new Intent(this, IntroActivity.class);
intent.putExtra(extra_progress_key, track_players);
startActivity(intent);
}
IntroActivity活动(这里我尝试从intent中检索int):
public class IntroActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
int temp = intent.getIntExtra(SetupMenu.extra_progress_key, 0 );
TextView textView = new TextView(this);
textView.setText(temp);
setContentView(textView);
}
}
答案 0 :(得分:1)
一个问题是您无法将TextView的文本设置为int;您需要先将其转换为字符串。在你夸大观点之前操纵观点也不是一个好主意,所以也许你的onCreate()
应该是:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
int temp = intent.getIntExtra(SetupMenu.extra_progress_key, 0 );
TextView textView = new TextView(this);
setContentView(textView);
textView.setText(String.valueof(temp));
}
答案 1 :(得分:0)
在启动IntroActivity时,我看不到任何确保创建SetupMenu活动的内容。要确保,不要传递变量,而是传递字符串本身并检查它是否有效:
int temp = intent.getIntExtra("com.example.angelsanddemons.track_players", 0 );