在Android应用程序中,当单击另一个活动中的按钮时,如何启动一个新活动(GUI),以及如何在这两个活动之间传递数据?


当前回答

实现视图。OnClickListener接口,并重写onClick方法。

ImageView btnSearch;

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_search1);
        ImageView btnSearch = (ImageView) findViewById(R.id.btnSearch);
        btnSearch.setOnClickListener(this);
    }

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btnSearch: {
                Intent intent = new Intent(Search.this,SearchFeedActivity.class);
                startActivity(intent);
                break;
            }

其他回答

一件容易的事。

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent.putExtra("key", value); //Optional parameters
CurrentActivity.this.startActivity(myIntent);

额外的内容可以通过以下方式从另一侧检索:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();
    String value = intent.getStringExtra("key"); //if it's a string you stored.
}

不要忘记在AndroidManifest.xml中添加你的新活动:

<activity android:label="@string/app_name" android:name="NextActivity"/>
Button button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(SplashActivity.this,HomeActivity.class);
            startActivity(intent);
        }
    });

你的按钮xml:

 <Button
    android:id="@+id/btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="jump to activity b"
    />

Mainactivity.java:

 Button btn=findViewVyId(R.id.btn);
btn.setOnClickListener(btnclick);
btnclick.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
               Intent intent=new Intent();
                intent.setClass(Mainactivity.this,b.class);
                startActivity(intent);
    }
});

你可以试试下面的代码:

Intent myIntent = new Intent();
FirstActivity.this.SecondActivity(myIntent);

在android应用程序中,从另一个活动启动一个活动是非常常见的场景。 要启动一个活动,你需要一个Intent对象。

如何创建意图对象?

意图对象的构造函数中有两个形参

上下文 要启动的活动的名称。(或完整包名)

例子:

例如,如果你有两个活动,说HomeActivity和DetailActivity,你想从HomeActivity启动DetailActivity (HomeActivity—>DetailActivity)。

下面是演示如何启动DetailActivity的代码片段

HomeActivity。

Intent i = new Intent(HomeActivity.this,DetailActivity.class);
startActivity(i);

这样就做完了。

回到按钮点击部分。

Button button = (Button) findViewById(R.id.someid);

button.setOnClickListener(new View.OnClickListener() {
     
     @Override
     public void onClick(View view) {
         Intent i = new Intent(HomeActivity.this,DetailActivity.class);
         startActivity(i);  
      }

});