Ich habe Tabhost mit 3 Tabs.Wie aktualisiert man den Inhalt des Tabhost-Tabs jedes Mal, wenn ich auf den Tab klicke?
SONG LIST, neue Songs und FAVORITEN
In jedem Registerkarte mein Inhalt ist Linearlayout. Innerhalb von linearlayout habe ich listview.
Hier ist mein Code ..
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_fragment_one, container, false);
TabHost host = (TabHost) rootView.findViewById(R.id.tabHost);
host.setup();
dbHelper = new FragmentOne_DbAdapter(getActivity());
dbHelper.open();
//Clean all data
//dbHelper.deleteAllPlayer1();
//Add some data
dbHelper.insertPlayer1Songlist();
//Generate ListView from SQLite Database
//Tab 1
TabHost.TabSpec spec = host.newTabSpec("SONG LIST");
spec.setContent(R.id.tab1);
spec.setIndicator("SONG LIST");
host.addTab(spec);
listView = (ListView) rootView.findViewById(R.id.slPlayer1ListView);
player1ESearch = (EditText) rootView.findViewById(R.id.player1Search);
ImageButton dplayer1ESearch=(ImageButton) rootView.findViewById(R.id.delete);
dplayer1ESearch.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
player1ESearch.setText("");
}
});
displayPlayer1ListView();
//Tab 2
spec = host.newTabSpec("NEW SONGS");
spec.setContent(R.id.tab2);
spec.setIndicator("NEW SONGS");
host.addTab(spec);
listViewNew = (ListView) rootView.findViewById(R.id.slPlayer1NewListView);
displayPlayer1NewListView();
//Tab 3
spec = host.newTabSpec("FAVORITES");
spec.setContent(R.id.tab3);
spec.setIndicator("FAVORITES");
host.addTab(spec);
return rootView;
}
private void displayPlayer1ListView() {
Cursor cursor = dbHelper.fetchAllPlayer1();
FragmentOneAdapter = new FragmentOne_Adapter(getActivity(), cursor, 0);
listView.setAdapter(FragmentOneAdapter);
player1ESearch.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
FragmentOneAdapter.getFilter().filter(s.toString());
}
});
FragmentOneAdapter.setFilterQueryProvider(new FilterQueryProvider() {
public Cursor runQuery(CharSequence constraint) {
return dbHelper.fetchPlayer1ByTitle(constraint.toString());
}
});
}
private void displayPlayer1NewListView() {
Cursor cursor = dbHelper.fetchAllPlayer1New();
FragmentOneAdapterNew = new FragmentOne_AdapterNew(getActivity(), cursor, 0);
listViewNew.setAdapter(FragmentOneAdapterNew);
}
Wie kann der Registerkarte Inhalt jedes Mal aktualisieren i auf die Registerkarte klicken?
in meiner ersten Registerkarte SONG LIST,
ich einig Feld der Daten aktualisieren,
dann, wenn ich neue Songs Registerkarte Ansicht,
das Update in der Liste angezeigt werden soll ..
Was ich brauche, ist nur die Abfrage abrufen oder aktualisieren Sie die Seite jedes Mal, wenn ich auf die Registerkarte NEW SONGS klicken. damit es den Inhalt neu lädt und aktualisiert.
danke!
funktioniert nicht in meinem Fall .. – Joehamir
hast du diese Antwort gesehen, ich habe bereits eine Frage in meiner Antwort. http://stackoverflow.com/a/21862750/5476209? Dies ist eine andere Möglichkeit, – TapanHP
eine gute Erklärung darüber ist hier: http://StackOverflow.com/A/16708283/5476209 – TapanHP