Android 我想使用intent从MainActivity移动到另一个活动,但我不想
请理解代码可能很复杂。 我在MainActivity的底部创建了一个botombar,并创建了五个不同的选项卡。单击“登录”选项卡时,您试图实现转到另一个活动登录的意图,但它不起作用。当我在中间重新执行意图声明时,没有响应。有什么问题吗 MainActivity.javaAndroid 我想使用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.
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);
}
}
});
}