Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中从onItemClick调用onListItemClick方法_Android_Listview - Fatal编程技术网

如何在android中从onItemClick调用onListItemClick方法

如何在android中从onItemClick调用onListItemClick方法,android,listview,Android,Listview,我有一个按钮和一个列表视图。我在一个列表视图中根据点击列表设置了三个适配器,但当我按下后退按钮时,它只会点击一次 代码如下: public class GamesFragment extends ListFragment{ Context context; Dialog dialog; Game_Adapter gameadapter; Game_Channels_Sections_Adapter GameChannelsSections;

我有一个按钮和一个列表视图。我在一个列表视图中根据点击列表设置了三个适配器,但当我按下后退按钮时,它只会点击一次

代码如下:

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);

    }
公共类游戏片段扩展ListFragment{
语境;
对话;
游戏适配器;
游戏频道分区适配器游戏频道分区;
游戏部分详细信息适配器游戏部分详细信息;
列表视图列表视图1;
JSONArray dataJsonObject;
按钮后退,后退2;
文本视图标题;
按钮添加;
int i=0;
int y=0;
int z=0;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
视图=充气机。充气(R.layout.game_列表,容器,false);
listView1=(ListView)view.findViewById(android.R.id.list);
后退=(按钮)视图.findViewById(R.id.Button\u后退);
GamesFragmentData dataobserver=新GamesFragmentData();
add=(Button)view.findViewById(R.id.Button\u add);
title=(TextView)view.findViewById(R.id.TextView\u标题);
标题:setText(“游戏”);
add.setVisibility(View.INVISIBLE);
ServerManager.getInstance().addObserver(dataobserver);
ServerManager.getInstance().readLoopForGameData(AppConstances.Games\u通道);
如果(gameadapter==null)
gameadapter=新游戏适配器(getActivity(),new JSONArray());
listView1.setAdapter(游戏适配器);
Log.e(“,”在ongameadapter-->“中);
返回视图;
}
@凌驾
public void onListItemClick(列表视图l、视图v、整数位置、长id){
System.out.println(“In onListItemClick-->”);
Log.e(“,”在onListItemClick-->”)中;
ServerManager.getInstance().readLoopForGame\u Channels\u Sections\u Data(AppConstances.Games\u Channels\u Sections);
GameChannelsSections=new Game_Channel_Sections_Adapter(getActivity(),new JSONArray());
listView1.setAdapter(游戏频道选项);
back.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Log.e(“,”在onListItemClick1中-->”;
listView1.setAdapter(游戏适配器);
}
});
listView1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(适配器视图arg0、视图视图、内部位置、,
长id){
ServerManager.getInstance().readLoopForGame\u Channel\u Sections\u Details\u Data(AppConstances.Games\u Sections\u Details);
GameSectionsDetails=新游戏\部分\详细信息\适配器(getActivity(),new JSONArray());
listView1.setAdapter(游戏部分详细信息);
}
Log.e(“,”在onItemClick中-->”;
back.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
Log.e(“,”在mclick1中-->”;
listView1.setAdapter(游戏频道选项);
}
});
}
});
super.onListItemClick(左、右、位置、id);
}
@凌驾
已创建ActivityState上的公共无效(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
}
代码有两种方法:
onListItemClick 麦克里克

当我单击列表视图控件时,它从onListItemClick变为onItemClick,因为我在onclick的单个列表视图中设置了三个适配器。
但当我点击后退按钮时,我需要后退。我不能回去了

比如说,如果我按下适配器1,我设置了适配器2,如果我按下适配器2,我设置了适配器3

现在,我在适配器3上。点击后退按钮,我从3返回到2,但我不能从2返回到1


简言之,我如何将控制从onItemClick返回到onListItemClick,以便可以重复单击流程?

setAdapter替换以前的任何适配器如果我只替换适配器,则我想重复该流程,以便我无法。。。