Android - управление списком внутри фрагмента с помощью кнопок - PullRequest
2 голосов
/ 08 февраля 2012

Я создаю приложение с вкладками, используя Фрагменты и поддержку совместимости.

На одной из вкладок я хочу иметь вид списка.На этой же вкладке я должен нажать кнопку, которая будет изменять элементы списка (скажем, каждой кнопке будет присвоен массив строк).Я не понимаю, как это сделать.Я уже создал макет и списки щелчков для кнопок (которые работают, потому что я проверил его с сообщениями тостов).

Можете ли вы дать мне подсказку?Где бы я положил код списка?На OnClick?На OnCreateView?

Извините, у меня нет большого опыта работы с android.

Это мой код для фрагмента.

public class TabFragment6 extends ListFragment {
/** (non-Javadoc)
 * @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
 */
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    if (container == null) {
        // We have different layouts, and in one of them this
        // fragment's containing frame doesn't exist.  The fragment
        // may still be created from its saved state, but there is
        // no reason to try to create its view hierarchy because it
        // won't be displayed.  Note this is not needed -- we could
        // just run the code below, where we would create and return
        // the view hierarchy; it would just never be used.
        return null;
    }



    LinearLayout theLayout = (LinearLayout)inflater.inflate(R.layout.tab_frag6_layout, container, false);

    // Register for the Button.OnClick event GUITARRA
    Button bShopGuit = (Button)theLayout.findViewById(R.id.buttonshopguit);
    bShopGuit.setOnClickListener(new View.OnClickListener() {           //abre setonclicklistener(
        @Override
        public void onClick(View v) {
            Toast.makeText(TabFragment6.this.getActivity(), "GUITAR button clicked", Toast.LENGTH_LONG).show();

        }
    });                                                                 //fecha )

    // Register for the Button.OnClick event BAIXO
            Button bShopBass = (Button)theLayout.findViewById(R.id.buttonshopbass);
            bShopBass.setOnClickListener(new View.OnClickListener() {           //abre setonclicklistener(
                @Override
                public void onClick(View v) {
                    Toast.makeText(TabFragment6.this.getActivity(), "BASS button clicked", Toast.LENGTH_LONG).show();
                }
            });                                                                 //fecha )

    return theLayout;
}

}

1 Ответ

0 голосов
/ 08 февраля 2012

???

Сначала у вас есть фрагмент.В нем у вас есть ListFragment с адаптером.В моих проектах я использую AsyncTask для работы с данными, и в ней вы можете обновить список.Конечно, адаптер делает это, и вы должны уведомить его об изменении данных.

Это поможет вам Как обновить просмотр списка после вызова Asynctask для вызова webservice , я думаю,

...