Ich mache drei Registerkarten.Registerkarte Change Listner in Android
Sprache. (Fügen Sie die Sprache Klasse mit Sprachlayout) Aktivierung (Include Aktivierung Klasse mit activate Layout) Einstellungen (Include Einstellungen Klasse mit Layout Einstellung)
In der Einstellungsliste, wenn ich die Einstellung ändern, die verbergen Wortdefinition im Sprachlayout. Und dann klicken Sie noch einmal auf die Registerkarte Sprache Wörter Übersetzung noch dort.
Ich denke, ich muss hier auf Registerkarte Change Listner gelten.
Aber was soll ich tun auf Tab Tab Change Listner.
das ist meine TabActivity.
package com.languagetranslate;
import com.languagetranslate.Constants.Constants;
import com.languagetranslate.dao.UserData;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.TabHost.OnTabChangeListener;
public class Screen1 extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.screen1);
initializeTabs();
}
private void initializeTabs() {
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, WordsClass.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Words").setIndicator("Words")
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, ActivateClass.class);
spec = tabHost.newTabSpec("Activitation").setIndicator("Activitation")
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, Settings.class);
spec = tabHost.newTabSpec("Settings").setIndicator(".\n.\n.")
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
if (tabId == "Language"){
Constants.TAGS_ENABLE = UserData.getTagSettings(getApplicationContext(),
Constants.SETTINGS_FILE);
if (Constants.TAGS_ENABLE == true) {
LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
FrameLayout item = (FrameLayout)findViewById(android.R.id.tabcontent);
View child = inflate.inflate(R.layout.wordlayout, null);
child.findViewById(R.id.availabletags).setVisibility(View.VISIBLE);
child.findViewById(R.id.tags).setVisibility(View.VISIBLE);
item.addView(child);
//
// ((TextView) findViewById(R.id.availabletags))
// .setVisibility(View.VISIBLE);
// ((ListView) findViewById(R.id.tags))
// .setVisibility(View.VISIBLE);
}
}
}
});
}
}
Wenn wir die Registerkarten auf Resume-Methode aufgerufen wird? –
ja, es heißt, wenn die Aktivität in den Vordergrund kommt – candyleung
danke. es funktioniert –