android开发 如何从一个activity中的两个按钮分别跳转到另外两个activity?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发 如何从一个activity中的两个按钮分别跳转到另外两个activity?相关的知识,希望对你有一定的参考价值。

参考技术A 请楼主把问题描述清楚一下,你是要跳转的写法吗?我这里给出一个简单的写法:public class IntentActivity extends Activity
private Button btn;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

btn=(Button)findViewById(R.id.btnSubmit);
btn.setOnClickListener(new Button.OnClickListener()
@Override
public void onClick(View v)
//实例化Intent对象,并指定要启动的Activity
Intent iten=new Intent();
iten.setClass(IntentActivity.this, intent.class);
//调用一个新的Activity
startActivity(iten);
//关闭当前Activity
IntentActivity.this.finish();

);

如果还看不懂可以加我QQ讨论
参考技术B btn1.setOnClickListener(new OnClickListener()

@Override
public void onClick(View arg0)
// TODO Auto-generated method stub
startActivity(new Intent(Activitya.this,Activityb.class));//
finish();

);
btn2.setOnClickListener(new OnClickListener()

@Override
public void onClick(View arg0)
// TODO Auto-generated method stub
startActivity(new Intent(Activitya.this,Activityc.class));
finish();

);本回答被提问者和网友采纳
参考技术C startActivity(new Intent(this,***.class)); 就可以了!

Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?

【中文标题】Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?【英文标题】:Android how to call Activity data type from another class in Main Activity? 【发布时间】:2021-01-14 05:39:14 【问题描述】:

我有这个代码单独的类,它使 Snackbar 显示在我的应用程序中,但是在我当前的实现中,我得到了一个“java.lang.NullPointerException”。如何在我的主类中正确实现它?

这是我的小吃店课程:

public class SnackBarUtils

private static SnackBarUtils mInstance = null;
private  Snackbar mSnackBar;

private SnackBarUtils()




public static SnackBarUtils getInstance()

    if (mInstance == null)
    
        mInstance = new SnackBarUtils();
    
    return mInstance;


public void hideSnackBar()

    if (mSnackBar != null)
    
        mSnackBar.dismiss();
    


public void showProblemSnackBar(final Activity activity, final String message)

    mSnackBar = Snackbar.make(activity.findViewById(android.R.id.content), message, 
    Snackbar.LENGTH_INDEFINITE);
    // Changing action button text color
    View sbView = mSnackBar.getView();
    TextView textView = sbView.findViewById(com.google.android.material.R.id.snackbar_text);
    mSnackBar.setAction("x", new View.OnClickListener()
    
        @Override
        public void onClick(View v)
        
            //Call your action method here
            mSnackBar.dismiss();
        
    );
    textView.setTextColor(Color.WHITE);
    sbView.setBackgroundColor(Color.RED);
    textView.setMaxLines(3);
    mSnackBar.show();


这是我当前在主要活动中的实现,我已经像这样初始化了小吃栏类:

SnackBarUtils snackBarUtils;

然后这样称呼它:

snackBarUtils.showProblemSnackBar(MainActivity.this, mPlainTextResponse);

我做错了什么?或者这样做的正确方法是什么?

【问题讨论】:

【参考方案1】:

首先,您将共享 NPE 的堆栈跟踪以获取更多上下文。

对于快餐栏实用程序: 如果您正在使用回调,那么您可以使用该实用程序来显示带有该回调作为参数的快餐栏:

interface onProblemSnackbarClickedListener 
  void onActionClicked(View view);

...
/* inside SnackBarUtils.java */
...
public static void showProblemSnackbar(View view, @StringRes int message, onProblemSnackbarClickedListener listener)
   Snackbar mSnackBar = Snackbar.make(view,message,Snackbar.LENGTH_INDEFINITE)
    .setAction("x", new View.OnClickListener() 
      @Override
      public void onClick(View v) 
        listener.onActionClicked(v);
        mSnackBar.dismiss();
      
  )
  mSnackbar.show();


回调可以满足在活动/片段中收听它的需要。

对于 Snackbar 的样式,你可以看到这个相关的问题: Style SnackBar in theme app.

请记住从“支持设计”到 MDC(材料设计组件)的迁移,这有助于使用主题属性对快餐栏进行全局样式设置。

【讨论】:

感谢您的回答,但我如何在主活动中调用它以显示小吃店? @Reaper .... 因为你有一个 SnackBarUtils 类,你可以像以前一样调用它......在你的活动中它会是这样的: /* 在你的活动中 / SnackBarUtils. getInstance().showProblemSnackbar(rootView, R.string.snack_message, new onProblemSnackbarClickedListener (at)Override public void onActionClicked(View v)/ 这里的回调逻辑。*/ )

以上是关于android开发 如何从一个activity中的两个按钮分别跳转到另外两个activity?的主要内容,如果未能解决你的问题,请参考以下文章

Android 如何从 Main Activity 中的另一个类调用 Activity 数据类型?

如何从android中的非Activity类调用服务方法

android开发中一个activity如何调用另一个xml中的控件

如何从 Android 4.3 中的类(此类扩展 LinearLayout)启动 Activity?

如何从android中的自定义适配器调用Activity asynctask

如何将值从基本适配器传递到 Android 中的 Activity