ボタンとリストビューがあります。リストをクリックして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 に制御を戻すことができますか?