Android 我想使用intent从MainActivity移动到另一个活动,但我不想

Android 我想使用intent从MainActivity移动到另一个活动,但我不想,android,android-intent,android-activity,Android,Android Intent,Android Activity,请理解代码可能很复杂。 我在MainActivity的底部创建了一个botombar,并创建了五个不同的选项卡。单击“登录”选项卡时,您试图实现转到另一个活动登录的意图,但它不起作用。当我在中间重新执行意图声明时,没有响应。有什么问题吗 MainActivity.java package com.example.sasohan_main; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.

请理解代码可能很复杂。 我在MainActivity的底部创建了一个botombar,并创建了五个不同的选项卡。单击“登录”选项卡时,您试图实现转到另一个活动登录的意图,但它不起作用。当我在中间重新执行意图声明时,没有响应。有什么问题吗

MainActivity.java

package com.example.sasohan_main;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentTransaction;

import android.content.Intent;
import android.media.Image;
import android.net.Uri;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

import com.roughike.bottombar.BottomBar;
import com.roughike.bottombar.OnTabReselectListener;

public class MainActivity extends FragmentActivity {
    private ImageButton childbtn;
    private ImageButton senibtn;
    private ImageButton immibtn;
    private ImageButton mmmbtn;
    private Button newpage;
    private ChildFragment child_contact;
    private PregnantFragment pregnant_contact;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar);
        bottomBar.setOnTabReselectListener(new OnTabReselectListener() {
            @Override
            public void onTabReSelected(int tabId) {
                FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

                if (tabId == R.id.bottom_Login) {
                    Intent intent = new Intent(MainActivity.this, sasohan_Login.class);
                }
            }
        });

    }
}
下面是xml文件夹中存在的botombar.xml文件

MainActivity识别存在于botombar.xml中的botom_登录

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

    <tabs>
        <tab
            id="@+id/bottom_child"
            icon="@drawable/bar_child"
            title="child"/>
        <tab
            id="@+id/bottom_parents"
            icon="@drawable/bottom_parents"
            title="senior"/>
        <tab
            id="@+id/bottom_pregnant"
            icon="@drawable/bottom_pregnant"
            title="pregnant"/>
        <tab
            id="@+id/bottom_baseline"
            icon="@drawable/baseline"
            title="disabled"/>
        <tab
            id="@+id/bottom_Login"
            icon="@drawable/baseline_https_black_18dp"
            title="login"/>
    </tabs>
</PreferenceScreen>

首先,您需要从bottomBar.setOnTabReselectListener更改函数 到bottomBar.setOnTabSelectListener,就像我在下面提到的:

package com.example.sasohan_main;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentTransaction;

import android.content.Intent;
import android.media.Image;
import android.net.Uri;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

import com.roughike.bottombar.BottomBar;
import com.roughike.bottombar.OnTabReselectListener;

public class MainActivity extends FragmentActivity {
    private ImageButton childbtn;
    private ImageButton senibtn;
    private ImageButton immibtn;
    private ImageButton mmmbtn;
    private Button newpage;
    private ChildFragment child_contact;
    private PregnantFragment pregnant_contact;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar);
        bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
            @Override
            public void onTabSelected(int tabId) {
                FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

                if (tabId == R.id.bottom_Login) {
                    Intent intent = new Intent(MainActivity.this, sasohan_Login.class);
                    startActivity(intent)
                }
            }
        });
    }
}

然后,正如@MMG所提到的,在if语句中添加startactivitycontent。

您忘了调用startActivity。仅仅创建一个意图不会带你去一个新的活动。您必须根据自己的意图调用startActivity方法。类似如下:

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar);
        bottomBar.setOnTabReselectListener(new OnTabReselectListener() {
            @Override
            public void onTabReSelected(int tabId) {
                FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

                if (tabId == R.id.bottom_Login) {
                    Intent intent = new Intent(MainActivity.this, sasohan_Login.class);
                    startActivity(intent);
                }
            }
        });

    }
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomBar bottomBar = (BottomBar) findViewById(R.id.bottomBar);
        bottomBar.setOnTabReselectListener(new OnTabReselectListener() {
            @Override
            public void onTabReSelected(int tabId) {
                FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

                if (tabId == R.id.bottom_Login) {
                    Intent intent = new Intent(MainActivity.this, sasohan_Login.class);
                    startActivity(intent);
                }
            }
        });

    }