为什么单击时我的Android按钮不会响应?

时间:2013-12-11 17:07:53

标签: android

对不起这个简单的问题(我是android开发新手)

我在布局上创建了一个ID为backToMain的按钮。

按下按钮时,我希望按钮返回到activity_main布局。

我写了以下代码:

public class Instructions extends Activity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.instructions);

        Button returnHome = (Button) findViewById(R.id.backToMain);
        returnHome.setHapticFeedbackEnabled(true);
        returnHome.setOnClickListener(new OnClickListener() 
        {
            public void onClick(View v) 
            {
                setContentView(R.layout.activity_main);
            }
        });
    }
}

当我编译并运行游戏时,该按钮不会执行任何操作。有人可以帮忙吗?谢谢!

这是XML:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

   <Button
       android:id="@+id/backToMain"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:text="@string/home" 
   />

</LinearLayout>

</ScrollView>

2 个答案:

答案 0 :(得分:1)

您的侦听器方法应如下所示:

returnHome.setOnClickListener(new OnClickListener() 
    {
        public void onClick(View v) 
        {
              Intent intent = new Intent(getApplicationContext(),MainActivity.class);
              startActivity(intent);
        }
    });

有效!

答案 1 :(得分:0)

如果以下代码不起作用,您应该发布Button所在的布局,以便我们可以看到您的XML发生了什么。

returnHome.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {

        Log.d("TAG", "-----------Button click-------------");

        Toast.makeText(Instructions.this, "Button click", Toast.LENGTH_LONG).show();

        Instructions.this.finish();

    }

});