Android 另一个LinearLayout中的LinearLayout始终返回null
这就是我被困的地方。我希望布局_根被识别 fragment_new_weather.xml的一个片段Android 另一个LinearLayout中的LinearLayout始终返回null,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,这就是我被困的地方。我希望布局_根被识别 fragment_new_weather.xml的一个片段 <ScrollView 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
<ScrollView 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="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.a5corp.weather.WeatherActivity$PlaceholderFragment">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/city_field"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="#FFFFFF"
android:ellipsize="end"
android:maxLines="1"
android:textSize="48sp" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1"
android:id="@+id/linearLayout2"
android:layout_below="@+id/daily_view"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true">
<TextView
android:layout_width="wrap_content"
android:id="@+id/temp_text_view"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="horizontal"
android:id="@+id/layout_root"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:id="@+id/temp_text_view1"
android:layout_height="wrap_content" />
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingStart="5dp"
android:minWidth="85sp"
android:paddingEnd="2dp"
android:layout_marginEnd="8dp"
android:paddingLeft="5dp"
android:paddingRight="2dp"
android:layout_marginRight="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/weather_icon1"
android:textSize="70sp"
android:textColor="#FFFFFF"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/details_view1"
android:textColor="#FFFFFF" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- Code below this in the file works properly-->
问题是布局总是返回null,而temp_text_view(布局根目录外)和temp_text_view 1(布局根目录内)都不返回null,而布局根目录总是返回null
以下是我试图实现的代码:
for (int i = 0; i < 10; ++i) {
LinearLayout child = new LinearLayout(getContext());
child.setOrientation(LinearLayout.VERTICAL);
child.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.MATCH_PARENT));
child.setPadding(5 , 0 , 2 , 0);
child.setPaddingRelative(5 , 0 , 2 , 0);
TextView wIcon = new TextView(getContext());
TextView detField = new TextView(getContext());
wIcon.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT));
wIcon.setTextSize(70);
wIcon.setTextColor(Color.WHITE);
wIcon.setTextAppearance(getContext() , android.R.style.TextAppearance_Large);
wIcon.setGravity(Gravity.CENTER);
detField.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT));
detField.setTextAppearance(getContext() , android.R.style.TextAppearance_Medium);
detField.setTextColor(Color.WHITE);
wIcon = weatherIcon[i];
detField = detailsField[i];
layout.addView(wIcon);
layout.addView(detField);
}
for(int i=0;i<10;++i){
LinearLayout子项=新的LinearLayout(getContext());
设置方向(线性布局。垂直);
setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.MATCH_父项));
设置填充(5,0,2,0);
setPaddingRelative(5,0,2,0);
TextView wIcon=newtextView(getContext());
TextView detField=newtextView(getContext());
wIcon.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
wIcon.setTextSize(70);
wIcon.setTextColor(Color.WHITE);
wIcon.setTextAppearance(getContext(),android.R.style.TextAppearance_Large);
wIcon.setGravity(重心);
detField.setLayoutParams(新的ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_内容,ViewGroup.LayoutParams.WRAP_内容));
setExtAppearance(getContext(),android.R.style.TextAppearance\u Medium);
setTextColor(Color.WHITE);
wIcon=天气图标[i];
detField=详细信息字段[i];
布局。添加视图(wIcon);
布局。添加视图(detField);
}
更改
layout = (LinearLayout) getActivity().findViewById(R.id.layout_root);
对,
尝试访问活动中的某些元素时,请使用getActivity()
。当您试图访问当前布局中的内容时,请使用rootView,在本例中为fragment\u new\u weather.xml
Change
layout = (LinearLayout) getActivity().findViewById(R.id.layout_root);
对,
尝试访问活动中的某些元素时,请使用getActivity()
。当您试图访问当前布局中的内容时,请使用rootView,在本例中,该布局是fragment\u new\u weather.xml
layout = (LinearLayout) rootView.findViewById(R.id.layout_root);