当前位置: 首页 > 面试题库 >

android活动类构造器工作

壤驷承
2023-03-14
问题内容

考虑到android活动的情况,第一个起作用的方法是它的onCreatemethod ..对吗?

假设我想将2个参数传递给android活动类say UserHome。为此,创建活动类的构造函数UserHome并接受参数。

但是,当我们调用活动时,我们并没有初始化Activity类,而只是在创建UserHome类的意图。

然后,如何在不使用intent.putExtra("keyName", "somevalue");用法的情况下将参数从另一个活动传递给该活动。

专家请阐明我们如何解决这种情况。


问题答案:

不知道为什么您不想使用意图参数。那就是他们的目的。如果需要从应用程序的不同位置传递相同的参数,则可以考虑使用静态构造函数为您构建意图请求。

例如:

/**
 * Sample activity for passing parameters through a static constructor
 * @author Chase Colburn
 */
public class ParameterizedActivity extends Activity {

    private static final String INTENT_KEY_PARAM_A = "ParamA";

    private static final String INTENT_KEY_PARAM_B = "ParamB";

    /**
     * Static constructor for starting an activity with supplied parameters
     * @param context
     * @param paramA
     * @param paramB
     */
    public static void startActivity(Context context, String paramA, String paramB) {
        // Build extras with passed in parameters
        Bundle extras = new Bundle();
        extras.putString(INTENT_KEY_PARAM_A, paramA);
        extras.putString(INTENT_KEY_PARAM_B, paramB);

        // Create and start intent for this activity
        Intent intent = new Intent(context, ParameterizedActivity.class);
        intent.putExtras(extras);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Extract parameters
        Bundle extras = getIntent().getExtras();
        String paramA = extras.getString(INTENT_KEY_PARAM_A);
        String paramB = extras.getString(INTENT_KEY_PARAM_B);

        // Proceed as normal...
    }
}

然后,您可以通过以下方式启动活动:

ParameterizedActivity.startActivity(this, "First Parameter", "Second Parameter");



 类似资料:
  • 问题内容: 我注意到,使用快捷方式并选择构建器,它尝试使用每个私有属性(例如和)创建一个构造器。我记得我已经创建了没有它的项目并且可以正常工作。 在完整的logcat和构造函数之后,运行应用程序时发生错误: 具有私有财产的建设者: Logcat: 问题答案: 您的所有初始化都应使用的方法执行: 覆盖的构造函数会涉及很多繁重的工作,实际上并不是在公园散步。尽管您当然 可以 为设置一个空的构造函数,但

  • 问题内容: 我了解到Android 具有特定的生命周期,应该重写该生命周期并将其用于初始化,但是构造函数中到底发生了什么?在任何情况下,您也可以/应该重写构造函数,或者永远不要触摸它? 我假设永远不要使用构造函数,因为不会完全清除对的引用(从而妨碍了垃圾收集器),并且为此目的而存在。这样对吗? 问题答案: 我想不出有什么充分的理由在构造函数中做任何事情。您永远不会直接构造活动,因此无法使用它来传递

  • CodeIgniter 提供了查询构造器类,查询构造器允许你使用较少的代码来在数据库中 获取、新增或更新数据。有时只需要一两行代码就能完成数据库操作。CodeIgniter 并不需要为每个数据表提供一个类,而是使用了一种更简单的接口。 除了简单,使用查询构造器的另一个好处是可以让你创建数据库独立的应用程序, 这是因为查询语句是由每个独立的数据库适配器生成的。另外,由于系统会自动对数据 进行转义,所

  • 我有大量的数据,我想让它成为java中的一个对象(例如。https://haste.razvancode.com/agiyamuyol.json) 我正在运行以下代码: 我得到了这个错误: 我百分之百确定那是我的董事会课程,但是我现在已经工作了几个小时,我仍然不能让它工作。 董事会级别: 如果你对我如何修复它有任何想法,或者我错在哪里,请告诉我。

  • MainFormular.java 在Android.app.activity.performCreate(activity_main_formular 洛克卡特

  • 每当我进入设置活动并旋转设备时,我都会收到此错误消息“找不到片段构造函数”。下面是我的设置活动onCreate()方法和设置片段类。