用于单个视图的Android绘图应用程序需要在多视图底部导航活动应用程序中工作

问题描述 投票:0回答:1

我是一个全新的Android开发人员,目前颇为失落。我在尝试在应用程序中启用视图绘制时遵循此tutorial,该视图是具有三个选项卡(或片段)的"Bottom Navigation Activity"项目。参见下面的截图:

enter image description here

问题是,本教程适用于具有单个View和单个标准MainActivity的应用程序。在这种情况下,在项目的onCreate()类的MainActivity.java方法中使用以下代码:

public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState):
PaintView paintView = new PaintView(content: this):
setContentView(paintView);
  }

}

[当我构建一个单一视图的应用程序时,代码可以很好地工作。没有问题。但是,事情在我的"Bottom Navigation Activity"项目中无法正常工作,因为片段使用的ViewModel类型没有提供View类急需的方法。我的应用程序包含3个片段,第一个片段名为HomeFragment。我希望在此片段上进行所有绘制。该片段的默认onCreateView()方法如下所示:

public class HomeFragment extends Fragment {

private HomeView Model homeViewModel;

public View onCreateView(@NonNull LayoutInflator inflater, ViewGroup container, Bundle savedInstanceState) {

homeViewModel = ViewModelProviders.of(fragment: this).get(HomeViewModel.class);
View root = inflater.inflate(R.layout.fragment_home, container, attachToRoot: false);

return root;
 }
}

请参见下面的屏幕截图,查看我尝试做的事情。您会看到我已经在我的项目View中添加了一个PaintView类(就像在教程中创建的一样),其中包含所有绘图代码。

enter image description here

不幸的是,它生成以下编译错误:

Inferred type com.example.mobile_testapp_android_2_ui.home.PaintView for type parameter T is not within its bound; should extend androidx.lifecycle.ViewModel

关于如何实现本教程的PaintView类的任何技巧,以便我可以使用其方法绘制“ HomeFragment”,我们将深表感谢。

非常感谢,

Wulf

java android bottomnavigationview
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.