Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获得打开其他活动的按钮?_Java_Android_Xml - Fatal编程技术网

Java 如何获得打开其他活动的按钮?

Java 如何获得打开其他活动的按钮?,java,android,xml,Java,Android,Xml,我已经在我的活动XML文件中添加了一个按钮,但我无法让它打开我的其他活动。有人能告诉我如何一步一步地做到这一点吗?使用OnClick Listener Button T=(Button)findViewById(R.id.button_timer); T.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-gene

我已经在我的活动XML文件中添加了一个按钮,但我无法让它打开我的其他活动。有人能告诉我如何一步一步地做到这一点吗?

使用OnClick Listener
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);
    }
});
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));
    }
});
活动
实例的
onCreate()
方法中,首先需要使用
findViewById()
通过id找到
按钮
,然后为按钮设置
OnClickListener
,并实现
onClick()
方法,以便启动新的
活动

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));
    }
});
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));
    }
});
这可能是大多数开发人员首选的方法。然而,有一个共同的选择

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));
    }
});
在XML中使用onClick 或者,您可以使用
android:onClick=“yourMethodName”
在您的
活动
中声明方法名称,当您单击
按钮
时会调用该方法,然后像这样声明您的方法

public void yourMethodName(View v){
    startActivity(new Intent(YourCurrentActivity.this, YourNewActivity.class));
}
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));
    }
});
另外,不要忘记在
manifest.xml
中声明新的
活动。我希望这有帮助

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));
    }
});
参考文献

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));
    }
});

A.确保您的其他活动已在清单中声明:

<activity
    android:name="MyOtherActivity"
    android:label="@string/app_name">
</activity>
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));
    }
});

如果您在xml文件中声明了与以下类似的按钮:

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="next activity"
        android:onClick="goToActivity2"
        />
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));
    }
});

请注意,我的第二个活动称为“Main2Activity”

在xml文件上编写代码

<Button android:width="wrap_content"
        android:height="wrap_content"
        android:id="@+id/button"
        android:text="Click"/>
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));
    }
});

应用以下步骤:

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));
    }
});
  • 在文件夹布局中插入新布局xml
  • 重命名window2
  • 添加新按钮并添加此行:android:onClick=“window2”
  • mainactivity.java

    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));
        }
    });
    

    使用以下代码在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));
        }
    });
    

    我做的和用户9876226回答的一样。 唯一的区别是,我通常不使用onclick侦听器。相反,我在xml文件中编写以下内容:
    android:onClick=“open”

    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));
        }
    });
    
    open
    是绑定到按钮的功能。 然后在activity类中创建函数open()。单击按钮时,将调用此函数:)
    此外,我认为这种方式比使用侦听器更方便。

    使用以下步骤添加新活动(清单文件将自动更新)
    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));
        }
    });
    
    文件>新建>活动>空活动

    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));
        }
    });
    
    在您的MainActivity.java文件中,在protectedvoid onCreate(Bundle savedInstanceState)中添加以下代码

    确保调用finish()结束时的函数。因此,当您点击后退按钮时,它将不会返回到上一个活动

    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));
        }
    });
    
    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));
                finish();
    
            }
    });
    

    你能给我们看一点代码吗?我猜您没有在按钮上设置
    OnClickListener
    。请发布相关代码。如果您是编程新手,并尝试使用Android Studio,请先尝试学习基础知识,在您的情况下,Java编程语言将是一个很好的开始。然后学习标记语言XML。一旦你明白了,你就可以像其他人一样去阅读了。然后,在了解它之后,你应该尝试创建一些基本项目。Youtube上有很多视频可以让你上路。在我看来,你们是在堆栈溢出的问题上来到这里的,若你们有问题,那个么你们必须展示你们的工作,表明你们不仅仅是想从社区中获取代码片段。我辅导了一些学生,他们会要求我为他们解决这个问题,但他们对学习它的工作原理或学习任何东西都不感兴趣。相反,当他们遇到问题时,他们会回来,这样我就可以再次解决它。这不仅对占用一个人的时间和精力是不公平的,而且还会让你回来问一些简单的问题,如果你花时间的话,你本可以回答自己的问题。从长远来看,如果你至少解决了一打这样的问题,你就会学会如何钓鱼,而不是来吃别人可能会给你买的鱼。这是一个伟大的社区,这里有许多专业人士愿意与他人分享他们的伟大经验,但我们都必须保持社区整洁,努力学习并帮助他人!这两种方式有区别吗?在第一种方式中,我们可以动态地控制它,我想,还有什么优势吗?(对于我这个noob Android程序员来说)@ErtürkÖztürk正如您所指出的,第一种方法可以动态更改或更新,但第二种方法需要更少的代码,并且稍微整洁一些。否则,它们只是做同一件事的两种可选方法。这不会打开另一个活动。它将更改当前活动的内容。它“起作用”,但您不能使用“后退”按钮返回上一屏幕。