gpt4 book ai didi

java - Android studio Java - map 上的底页 View

转载 作者:行者123 更新时间:2023-11-30 05:02:18 25 4
gpt4 key购买 nike

android 编程 java 的新手,我正在尝试创建一个“简单的..” BottomSheet,当我单击其中一个位置时它必须出现。实际上我已经能够创建我的 map 并加载我的点数据。我有我的 map fragment ..

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"

/>

</RelativeLayout>

然后我查看在线教程创建了我的 BottomSheet。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinaCoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.chargesplit.android.activities.MainActivity">


<android.support.v4.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@android:color/holo_green_light"
android:clipToPadding="true"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="@string/bottom_sheet_behavior">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ciao"
android:textColor="@android:color/white"
android:textSize="24sp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="ciao2"
android:textColor="@android:color/white" />
</LinearLayout>

</android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinaCoordinatorLayout>

最后,在我的主要 Activity 中,我设法引用了我的底部工作表,但可能由于缺乏经验,我每次都在这一行遇到错误:

    super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

-> View nestedScrollView = (View) findViewById(R.id.nestedScrollView);
mBottomSheetBehaviour = BottomSheetBehavior.from(nestedScrollView);

我总是遇到这个错误,我可能在这里遗漏了一 block ......有人可以试着引导我朝着正确的方向前进以了解问题所在吗?

java.lang.NullPointerException: Attempt to invoke virtual method    'android.view.ViewGroup$LayoutParams android.view.View.getLayoutParams()' on a null object   reference

最佳答案

发生此错误是因为您的 Activity 无法定位底部工作 TableView ,这是为什么?因为您的底部工作 TableView 不包含在 activity_main.xml 中布局。

换句话说,您的 MainActivity.java只能看看activity_main.xml , 但它仍然不知道底部工作表的其他 xml 文件。

要解决此问题:替换您在 activity_main 中的代码布局与

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinaCoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.chargesplit.android.activities.MainActivity">

<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"/>


<android.support.v4.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="@android:color/holo_green_light"
android:clipToPadding="true"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="@string/bottom_sheet_behavior">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ciao"
android:textColor="@android:color/white"
android:textSize="24sp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="ciao2"
android:textColor="@android:color/white" />
</LinearLayout>

</android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinaCoordinatorLayout>

警告:为了使您的布局看起来整洁,您可以将底部工作 TableView 分成一个单独的布局,这样您就可以将 <android.support.v4.widget.NestedScrollView>进入 bottom_sheet.xml,然后从 activity_main.xml 引用它

<include layout="@layout/bottom_sheet" />

希望对您有所帮助..如果您需要进一步的帮助,请告诉我

关于java - Android studio Java - map 上的底页 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58052830/

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