Android - 使用Intent切换到活动,然后在切换活动上更改TextView的文本?

时间:2016-10-21 07:55:31

标签: android android-intent textview

我有三个不同的活动,所有人都通过Intent切换到一个共同的Activity,只是对 child 切换到 Activity的外观进行了微小的修改。我想更改TextView的文本,以便每次子活动根据切换到的活动显示不同的文本。 我试过用这个:

Button startSendingLocation = (Button) findViewById(R.id.wmb_start_sending_button);
        startSendingLocation.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(view.getContext(), ll_wmb_Map.class);
                startActivity(intent);

                TextView bmo_map_toolbar_title = (TextView) findViewById(R.id.wmb_toolbar_title);
                bmo_map_toolbar_title.setText(R.string.ll_bmo_toolbar_title);

            }
        });  

但这不会更新TextView中的文字。我做错了吗?

  1. 我应该用自己的布局创建三个不同的活动来实现这个目标吗?
  2. 我是否可以根据我切换的活动以不同方式添加或更新一些视图?
  3. 我认为通过Intent切换到相同的活动对于代码可重用性和一些效率提升是一个好主意,因为 child 活动在所有三种情况下都使用了MapFragment

    ll_wmb_Map.class:使用Intent来切换到的常见活动 wmb_toolbar_title:我要更改TextView的ID ll_bmo_toolbar_title:我要在TextView

    中设置的文字

1 个答案:

答案 0 :(得分:1)

很好,如果您只想启用/禁用视图并更改textview内容,您只需要在onclick侦听器中使用启用和禁用功能,而不是一次又一次地调用相同的活动。

 startSendingLocation.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        bmo_map_toolbar_title.setText(R.string.ll_bmo_toolbar_title);

        //enable/disable the views
        }
    });