谢谢大家的帮助,我已经找到办法了,有两种办法可以获取到。
第一种
LayoutInflater inflater=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
View customView =inflater.inflate(R.layout.activity_tree, null);
ListView view=customView.findViewById(R.id.tree_lv);
第二种
LayoutInflater inflater = this.getLayoutInflater();
View customView = inflater.inflate(R.layout.activity_tree, null, false);
// 设置自定义 view 中的显示内容
ListView treeLv = customView.findViewById(R.id.tree_lv);
第二种是我想要的方法,我在做一个AlertDialog自定义弹窗,想弹出Tree的视图,所以想要获取到他的ID,否则显示的时候老是报控件为空指针,虽然第一种也可以,但是我运行的时候,弹出来的AlertDialog里的内容不能交互,第二种可以,谢谢大家
这两个Activity的ContentView不同吧,DemolitionActivity执行时,TreeActivity绑定的ContentView已经不存在了,生命周期结束了,获取到的自然是null
为什么要这样获取呢?或许可以换一种方式
如果你想在A中控制B的控件做什么,在两个A\B都存活的情况下可以使用EventBus,在A中发送通知,在B中订阅收到通知消息再对控件进行想要的操作
硬要这么弄也是有办法的,但是不管想要实现啥功能,都不应该这么弄。可以通过事件总线、viewmodel、Activity Result API等方式传递或共享数据,根据数据来显示ui