0

まず、ここの例 (getActivity) のヒントを試しましたが、うまくいきません

TextView text = (TextView)
getActivity().findViewById(R.nrOfBooksInCollection);//This results in nullpointer exception
text.setText("Text from a fragment");//This results in nullpointer exception

そして neiter は以下のコードで動作します。以下のコードを使用すると、Eclipse でエラーが発生しません。テキストビュー "nrOfBooksInCollection" のテキストが変更されないだけです。

package com.ahmad.actionBar;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TextView;

public class FragMent2 extends Fragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
    View view = inflater.inflate(R.layout.summary, null);
    SimpleBookManager testBook = new SimpleBookManager();
    TextView nrOfBooksfield = (TextView) view.findViewById(R.id.nrOfBooksInCollection);
        String text = Integer.toString(testBook.count());
        nrOfBooksfield.setText(text);//The text doesn't change at all
        nrOfBooksfield.setText("text");//Neither does this
        return inflater.inflate(R.layout.summary, container, false);
    }
    }

アクティビティを使用していたときに機能したので、XML ファイルは問題ありません。

4

1 に答える 1

1

ViewGroup の外でビューを膨らませています。試す:

View view = inflater.inflate(R.layout.summary, container, null);
...
return view;
于 2012-11-15T00:13:02.327 に答える