Реализация фрагмента Android - PullRequest
2 голосов
/ 03 декабря 2011

Я пытаюсь реализовать фрагменты в своем проекте с помощью плагина https://github.com/JakeWharton/Android-ViewPagerIndicator.

Мой фрагмент

public final class NearByFragment extends Fragment {
    private static String TAG = "bMobile";

    public static NearByFragment newInstance(String content) {
        NearByFragment fragment = new NearByFragment();
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.d(TAG, "onCreate");
        super.onCreate(savedInstanceState);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        Log.d(TAG, "onCreateView");
        return inflater.inflate(R.layout.fragment_search_nearby, null);
    }
}

Теперь я хочу выполнить некоторый код, такой как start start aсоздайте новый поток и загрузите JSON с сервера, а затем назначьте представление списка из загружаемого содержимого.Во фрагментах мы назначаем представления в onCreateView.Так, где я должен написать

listview = (ListView) findViewById(R.id.list_items);

((TextView) findViewById(R.id.title_text))
                .setText(R.string.description_blocked);

и другой код для генерации представления фрагмента?

Ответы [ 2 ]

3 голосов
/ 03 декабря 2011

Вы можете искать в только что раздутом виде:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        Log.d(TAG, "onCreateView");
        View v = inflater.inflate(R.layout.fragment_search_nearby, null);
        listview = (ListView)v.findViewById(R.id.list_items);
        ((TextView)v.findViewById(R.id.title_text))
                        .setText(R.string.description_blocked);
        return v;
    }

Вы также можете использовать функцию Fragment.getView () в другом месте вашего кода и вызывать findViewById() член этого представления.

1 голос
/ 03 декабря 2011

Вы можете использовать getActivity().findByView() из фрагмента, если хотите иметь доступ к элементам макета. В качестве альтернативы, вы можете просто поместить вызов findByView() в основное действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...