0

ボタンとリストビューがあります。リストをクリックして1つのリストビューに3つのアダプターを設定していますが、戻るボタンを押すと1回しかクリックされません。

コードは次のとおりです。

public class GamesFragment extends ListFragment{

    Context context;

    Dialog dialog;
    Game_Adapter gameadapter; 
    Game_Channels_Sections_Adapter  GameChannelsSections;   
    Game_Sections_Details_Adapter  GameSectionsDetails;

    ListView listView1;
    JSONArray dataJsonObject;
    Button back,back2;
    TextView title;
    Button add;
      int i=0;
      int y=0;
      int z=0;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view=inflater.inflate(R.layout.game_list, container,false);
        listView1=(ListView)view.findViewById(android.R.id.list);
        back=(Button) view.findViewById(R.id.button_back);

        GamesFragmentData dataobserver=new GamesFragmentData();
        add=(Button) view.findViewById(R.id.button_add);
        title=(TextView) view.findViewById(R.id.textview_caption);
        title.setText("Games");

        add.setVisibility(View.INVISIBLE);
        ServerManager.getInstance().addObserver(dataobserver);

        ServerManager.getInstance().readLoopForGameData(AppConstances.Games_Channels);
        if(gameadapter==null)
            gameadapter=new Game_Adapter(getActivity(), new JSONArray());
        listView1.setAdapter(gameadapter);


        Log.e("","In ongameadapter---->");
        return view;
    }


    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {

        System.out.println("In onListItemClick---->");

        Log.e("","In onListItemClick---->");
        ServerManager.getInstance().readLoopForGame_Channels_Sections_Data(AppConstances.Games_Channels_Sections);

        GameChannelsSections=new Game_Channels_Sections_Adapter(getActivity(),new JSONArray());


        listView1.setAdapter(GameChannelsSections);

        back.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                Log.e("","In onListItemClick1---->");
                listView1.setAdapter(gameadapter);


            }
        });


        listView1.setOnItemClickListener(new OnItemClickListener() {


            @Override
            public void onItemClick(AdapterView<?> arg0, View view, int position,
                    long id) {


                ServerManager.getInstance().readLoopForGame_Channels_Sections_Details_Data(AppConstances.Games_Sections_Details);

            GameSectionsDetails=new Game_Sections_Details_Adapter(getActivity(),new JSONArray());
                listView1.setAdapter(GameSectionsDetails);
            }
                Log.e("","In onItemClick---->");
                back.setOnClickListener(new OnClickListener() {


                    @Override
                    public void onClick(View v) {



                        Log.e("","In onItemClick1---->");
                        listView1.setAdapter(GameChannelsSections); 



                    }
                });

            }
        });


        super.onListItemClick(l, v, position, id);   
    }


    @Override
    public void onActivityCreated(Bundle savedInstanceState) {

        super.onActivityCreated(savedInstanceState);

    }

コードには 2 つのメソッドがあります:
onListItemClick onItemClick

リスト ビュー コントロールをクリックすると、onListItemClick からonItemClick移動します。これは、onclick で 1 つのリスト ビューに 3 つのアダプターを設定しているためです。 しかし、戻るボタンをクリックすると、元に戻す必要があります。もう戻れない。

たとえば、アダプター 1 を押すとアダプター 2 が設定され、アダプター 2 を押すとアダプター 3 が設定されます。

今、私はアダプター 3 にいます。戻るボタンをクリックすると、3 から 2 に戻りますが、2 から 1 に行くことはできません。

要するに、クリックの流れを繰り返すことができるように、どうすれば onItemClick から onListItemClick に制御を戻すことができますか?

4

0 に答える 0