对不起这个简单的问题(我是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>
答案 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();
}
});