アクティビティXMLファイルにボタンを追加しましたが、他のアクティビティを開くためにボタンを取得できません。これを行う方法を段階的に教えてもらえますか?
A.他のアクティビティがマニフェストで宣言されていることを確認してください。
<activity
Android:name="MyOtherActivity"
Android:label="@string/app_name">
</activity>
すべてのアクティビティは、 意図フィルタ が割り当てられていない場合でも、マニフェストで宣言する必要があります。
B. MainActivityで次のようにします。
Button btn = (Button)findViewById(R.id.open_activity_button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, MyOtherActivity.class));
}
});
Activity
インスタンスのonCreate()
メソッド内で、最初にfindViewById()
を使用してIDでButton
を見つけてから、ボタンにOnClickListener
を設定し、onClick()
メソッドを実装して新しいActivity
を開始する必要があります。
Button yourButton = (Button) findViewById(R.id.your_buttons_id);
yourButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
});
これはおそらくほとんどの開発者が好む方法です。ただし、一般的な代替手段があります。
または、Android:onClick="yourMethodName"
を使用して、Activity
でメソッド名を宣言します。これは、Button
をクリックしたときに呼び出され、そのようにメソッドを宣言します。
public void yourMethodName(View v){
startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
また、manifest.xml
で新しいActivity
を宣言することを忘れないでください。これがお役に立てば幸いです。
参照;
次のようなxmlファイルでボタンを宣言した場合:
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="next activity"
Android:onClick="goToActivity2"
/>
次に、これをJavaファイルに配置して、アクティビティを変更できます。
public void goToActivity2 (View view){
Intent intent = new Intent (this, Main2Activity.class);
startActivity(intent);
}
2番目のアクティビティは「Main2Activity」と呼ばれることに注意してください
Button T=(Button)findViewById(R.id.button_timer);
T.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(getApplicationContext(),YOURACTIVITY.class);
startActivity(i);
}
});
次の手順を適用します。
mainactivity.Java
public void openWindow2(View v) {
//call window2
setContentView(R.layout.window2);
}
}
User9876226が答えたのと同じことをしました。唯一の違いは、onClickListenerを通常は使用しないことです。代わりに、xmlファイルに次のように記述します。Android:onClick="open"
open
は関数であり、ボタンにバインドされています。次に、アクティビティクラスで関数open()を作成します。ボタンをクリックすると、この関数が呼び出されます:)また、この方法はリスナーを使用するよりも快適だと思います。
Xmlファイルにコードを記述します。
<Button Android:width="wrap_content"
Android:height="wrap_content"
Android:id="@+id/button"
Android:text="Click"/>
Javaファイルにコードを書く
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
startActivity(new Intent(getApplicationContext(),Secondclass.class));
/* if you want to finish the first activity then just call
finish(); */
}
});
public void onButtonClick(View view)
startActivity(new Intent(Current activity.this、IntentActivity.class));
Android studioで次のコードを使用してボタンを作成し、既存のアクティビティを開きます。
Button StartButton = (Button) findViewById(R.id.YOUR BUTTONS ID GOES HERE);
StartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, YOUR ACTIVITY'S ID GOES HERE.class));
}
});