我很新的Android,我想用一个按钮和一个回调到一个新的意图(基本上是一个新窗口)编程一些非常简单的应用程序。在Android中的回调按钮不工作
这是代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Onclick "Start Game" button
start = (Button) findViewById(R.id.startGame);
tv = (TextView) findViewById(R.id.textView1);
start.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
tv.setText("clicked");
Intent i = new Intent(MainActivity.this, Level1Activity.class);
startActivity(i);
}
});
[...]
正如你可以看到我有一个按钮(startGame)和一个TextView(textView1)。我的问题很简单,当我点击startGame按钮时,什么都没有发生(TextView没有改变为“单击”,也没有改变屏幕)。该按钮以及TextView设置正确,因为Eclipse不会抱怨,但仍然无法正常工作。
这里是视图的XML片段:
<Button android:id="@+id/startGame" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Start Game"></Button>
<TextView android:text="change" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
我相信我的问题是非常愚蠢的,我只是无法看到它。
感谢
编辑:
我发现这个问题是相关的事实,我在查看多个按钮,这样一个以上的回调(上当然是不同的按钮)。只要我评论其他回调,startGame
按钮开始按预期工作。
谢谢!不知道为什么,但这解决了它!我认为这与活动启动无关,但与输入未被采用(TextView未改变)无关。尽管如此,Android黑魔法。谢谢! – Masiar
雅试试吧,它肯定会去工作。如果我的答案奏效,那么它就会升级。 – Rocker
其实在android中有一个活动堆栈的概念。每当你激发从一个活动到另一个活动的意图时,它就被添加到活动堆栈中,并且如果你的应用程序没有包含你想要去做的活动,那么意图如何激发,这就是为什么我们必须在应用程序下添加活动名称应用程序清单文件的标签。 – Rocker