0

だから私はこのxmlファイルを持っています

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:padding="10sp"
    android:id="@+id/lengthLayout"
    android:background="@color/gray2"
     >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        <EditText
            android:id="@+id/inputLength"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.3"
            android:hint="@string/temperatureHint"
            android:inputType="number"
            android:textSize="30sp"
            tools:ignore="NestedWeights" />

        <Spinner
            android:id="@+id/lengthUnits"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.7" />
    </LinearLayout>

  <View
            android:layout_width="fill_parent"
            android:layout_height="15dp"
     />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" 
       >
        <ListView 
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:verticalSpacing="10sp"
            android:horizontalSpacing="10dp"
            android:gravity="center"
            android:id="@+id/results_length"
            android:divider="@android:color/transparent"
            android:dividerHeight="5sp"

                      >

        </ListView>

        </LinearLayout>
</LinearLayout>

この XML ファイルのリソースを使用するクラスを作成したいと考えています。そのため、クラスがメイン アクティビティでインスタンス化されると、ビューが app に追加されます。

public class LengthFragment extends View implements OnClickListener, OnItemSelectedListener{

 Context rContext;

public LengthFragment(Context context){
    super(context);
    rContext = context;

    inflate(context, R.layout.view_length, null);
}

これが私がメインアクティビティで行っていることです

LengthFragment lF = new LengthFragment(testapp.this);

メイン アクティビティのインフレータを lengthfragment に渡し、そのインフレータを使用してビューを膨張させようとしましたが、何も機能せず、空白のビューが表示されます。ありがとう。

また、メインアクティビティ LinearLayout l1 = (LinearLayout) getLayoutInflater().inflate(R.layout.view_length, null); でこれを行うと機能します。

しかし、メインアクティビティの外でこのビューを作成したいのですが、メインアクティビティでクラスをインスタンス化するだけです。

4

0 に答える 0