gpt4 book ai didi

android-fragments - 如何通过 DataBinding 从 Fragment 访问 Activity View ?

转载 作者:行者123 更新时间:2023-12-04 13:03:24 25 4
gpt4 key购买 nike

我的目标是从 Fragment 访问 MainActivity 的 ProgressBar 和 TextView。但是,我收到以下错误:

Attempt to invoke virtual method 'void android.widget.ProgressBar.setVisibility(int)' on a null object reference



Activity _main.xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:orientation="vertical"
android:layout_gravity="center">

<ProgressBar
android:id="@+id/pbLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:layout_gravity="center"
android:visibility="visible"/>

<TextView
android:id="@+id/tvLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dimension_8dp"
android:fontFamily="@font/robotomedium"
android:textSize="16sp"
android:visibility="visible"
android:text="@string/loading_text"/>

</LinearLayout>

示例片段.java
 @Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
fragmentDataBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_currency_list, container, false);

return Objects.requireNonNull(fragmentDataBinding).getRoot();
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
mPbLoading = fragmentDataBinding.getRoot().findViewById(R.id.pbLoading);
mPbLoading.setVisibility(View.GONE);

}

篡改了很多帖子,文章,但无法实现。提前致谢。

最好的事物,

最佳答案

Option 1



使进度条在 Activity 上保持静态
然后从片段访问 -
if(MainActivity.progressbar!=null){
MainActivity.progressbar.setVisibility(View.Gone);
//or whatever do you want
}

Option 2


((YourActivityClassName)getActivity()).yourPublicMethod(); 

关于android-fragments - 如何通过 DataBinding 从 Fragment 访问 Activity View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47969793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com