我有三个不同的活动,所有人都通过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
中的文字。我做错了吗?
我认为通过Intent切换到相同的活动对于代码可重用性和一些效率提升是一个好主意,因为 child 活动在所有三种情况下都使用了MapFragment
。
ll_wmb_Map.class
:使用Intent
来切换到的常见活动
wmb_toolbar_title
:我要更改TextView
的ID
ll_bmo_toolbar_title
:我要在TextView
答案 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
}
});