0

リストされたコードは問題なく機能しましたが、もう少し欲しいです。

    @Override
public View onCreateView(LayoutInflater inflater,
     ViewGroup container,
     Bundle savedInstanceState)
{
    Log.i(TAG, "HelpDetailsFragment.onCreateView() getCurrentIndex(): "+getCurrentIndex());

    Log.i(TAG, "HelpDetailsFragment.onCreateView() container.getChildCount() first log: "+container.getChildCount());

    FrameLayout frameLayout = new FrameLayout(getActivity());

    TextView headerText = (TextView) new TextView(getActivity());   

    // headerText.inflate(getActivity(), R.id.textView1, null);

    int height = (int) TypedValue.applyDimension(
               TypedValue.COMPLEX_UNIT_DIP, 50, getActivity()
               .getResources().getDisplayMetrics());
    headerText.setHeight(height);
    headerText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 24);
    headerText.setText(HelpScreenData.HELP_HEADERS[getCurrentIndex()]);     

    frameLayout.addView(headerText);

    return  frameLayout;

}

コメントアウトされた行を介して XML ファイルの値を使用して、テキストの外観をさらにカスタマイズしようとしています。しかし、それはうまくいきません。誰かが助けてくれますか?

4

1 に答える 1

0

まず第一に、そのようなレイアウトを作成しないでください! XML ベースのレイアウトを使用することを強くお勧めします。次に、onCreateView()メソッドで XML レイアウトをインフレートして返します。

例:

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

    View v = inflater.inflate(R.layout.my_layout, null); //my_layout is your layout defined in XML  

    TextView textView = v.findViewById(R.id.my_textview);
    Button button = v.findViewById(R.id.my_button);
    //do whatever with your textView, set OnClickListener to button etc...        


    return  v; //return inflated layout 
}

Android Dev websiteでレイアウトに関する基本的なチュートリアルを読むことをお勧めします。

于 2013-08-21T21:39:01.917 に答える