在主文件activity 的onCreate方法中不直接引用 setContentView(R.layout.xx)
而通过:
private View view;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); view = this.getLayoutInflater().inflate(R.layout.activity_map, null); setContentView(view); //屏幕常亮 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); }
public View getView() { return view; }
在其他类(比如Dialog的引用)
Button travel = mapActivity.getView().findViewById(R.id.button_travel);//轨迹设置按钮 Button clear = mapActivity.getView().findViewById(R.id.button_clear);//清除按钮 Button addSign = mapActivity.getView().findViewById(R.id.button_add_sign);//标签按钮 Button back = mapActivity.getView().findViewById(R.id.button_back);//返回按钮
travel.setVisibility(View.GONE); clear.setVisibility(View.VISIBLE); addSign.setVisibility(View.GONE); back.setVisibility(View.VISIBLE);