0

議題のスタイルでいくつかの情報を表示する必要があるため、フラグメントを使用して別の日の情報を表示しています。毎日部屋を紹介するコラムがあります。

構造を作成しますが、情報を入れようとすると問題が発生します

アジェンダ_チャイルドテレビ - 情報の平和を置くテキストビュー

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text_child"
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    android:clickable="true"
    android:background="@drawable/back"
    android:padding="3sp"/>

議題_子_ll - 列

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="@dimen/agenda_aula_width"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/agenda_aula_title" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

    <LinearLayout  
        android:id="@+id/agenda_aula_esp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    </LinearLayout>

</LinearLayout>

アジェンダ_日

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
    android:layout_height="match_parent" >

<ScrollView 
    android:layout_width="wrap_content"
    android:layout_height="match_parent" >

        <LinearLayout
            android:id="@+id/horizontal_fragment"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <LinearLayout
                android:layout_width="@dimen/agenda_tv_width"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:background="#BDBDBD" >

                <TextView 
                    android:layout_width="@dimen/agenda_tv_width"
                    android:layout_height="@dimen/agenda_tv_height"
                    android:text="9.00"
                    android:padding="@dimen/agenda_tv_padding"
                    android:textColor="@color/agenda_orario_color"
                    android:textSize="@dimen/agenda_tv_textsize" />

                <!-- A lot of textview for the hours -->

            </LinearLayout>

            <!-- Here i put, dinamically, the colum for the room in each day --> 

    </LinearLayout>

</ScrollView>

</HorizontalScrollView>

議題

以下のコードはあまり動的ではありませんが、私の問題を示すために簡略化したバージョンを書きました

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.agenda_day, container, false);

    LinearLayout dayLL = (LinearLayout) rootView.findViewById(R.id.horizontal_fragment);

    //Retriving LL agenda_child_ll
        LinearLayout aula = (LinearLayout) inflater.inflate(R.layout.agenda_child_ll, container, false);

        //Setting the classroom name
        TextView aulaName = (TextView) aula.findViewById(R.id.agenda_aula_title);
        aulaName.setText("room A");

        //Retriving LL agenda_aula_esp
        LinearLayout roomLL = (LinearLayout) aula.findViewById(R.id.agenda_aula_esp);

        //Retriving TV child
        TextView child = (TextView) inflater.inflate(R.layout.agenda_child_tv, container, false);
        child.setText("test");

        //Adding child to the room
        roomLL.addView(child);

        //adding room to the day
        dayLL.addView(aula);

        //Creating the column for the classroom "room B"

        LinearLayout aula2 = (LinearLayout) inflater.inflate(R.layout.agenda_child_ll, container, false);

        TextView aulaName2 = (TextView) aula2.findViewById(R.id.agenda_aula_title);
        aulaName2.setText("room B");

        dayLL.addView(aula2);
}

これが結果です。textview の子はレイアウトに追加されませんでした。誰かが私を助けることができますか?:)

結果のイメージ

4

2 に答える 2

1

問題を解決しました。agenda_aula_titleのlayout_heightを変更しました。

追加したテキストビューが画面の外に表示されました。

于 2013-03-07T13:46:00.287 に答える
0

私は同様の問題に直面していて、同じ方法で解決しました。私のアプリにはメイン アクティビティと 2 つのフラグメントがあります。最初のフラグメントは、式のリストを示す List Fragment です。式をクリックすると、式の式を示す FormulaExpressionFragment が FormulaTitlesFragment を置き換えます。FormulaExpressionFragment に数式の電卓を含むレイアウトを動的に追加したいと考えていました。これが私がそれを達成した方法です。

public class FormulaExpressionsFragment extends Fragment {

private TextView mTextView;
private TextView mFormulaTitle;
LinearLayout formulaExpressionsLayout;
View rootView;
View formulaCalculator;
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        rootView = inflater.inflate(R.layout.fragment_formula_expressions, container, false);
        return rootView;
    }
void displayFormulaExpression(int position){
    mTextView = (TextView) getView().findViewById(R.id.formula_expression_view);
    mFormulaTitle = (TextView) getView().findViewById(R.id.formula_title_view);
    mTextView.setText(getResources().getTextArray(R.array.formula_expressions)[position]);
    mFormulaTitle.setText(getResources().getTextArray(R.array.formula_titles)[position]);
    mFormulaTitle.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
}

void displayFormulaCalculator(int position){
    formulaExpressionsLayout = (LinearLayout) rootView.findViewById(R.id.formula_expression_layout);
    LayoutInflater inflater = LayoutInflater.from(getActivity().getApplicationContext());
    formulaCalculator = inflater.inflate(R.layout.formula_1, formulaExpressionsLayout, false);
    formulaExpressionsLayout.addView(formulaCalculator);

fragment_formula_expressions.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/formula_expression_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/formula_title_view"
    android:text="Formula Title"
    android:padding="5dp" />
<TextView
    android:id="@+id/formula_expression_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Formula Expression"
    android:padding="5dp" />

式_1.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/formula_calculator">
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/mud_density"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=" × 0.052 × "/>
<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/tvd"/>

特に注意してください

android:layout_width="wrap_content"
android:layout_height="wrap_content"

それらは「wrap_content」に設定する必要があります。そうしないと、上部のビューがすべてのディスプレイの高さを取るため、それらの下に追加されたビューがレイアウトに表示されません。

于 2014-11-28T16:50:36.100 に答える