У меня 4 занятия.
Первое действие используется для ввода данных, второе действие - это основное действие вкладок (расширяет TabActivity) для объявления каждой вкладки, а третье и четвертое действие - это вкладка.
Как я могу перенести значения из первого занятия в третье и четвертое занятие?
Вот мое первое занятие:
public class FirstActivity extends Activity {
EditText inputName;
EditText inputAddress;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//declaration layout
inputName = (EditText) findViewById(R.id.editText1);
inputAddress = (EditText) findViewById(R.id.editText2);
Button btnNextScreen = (Button) findViewById(R.id.button1);
//Listening to button event
btnNextScreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
//Starting a new Intent
Intent nextScreen = new Intent(getApplicationContext(), MainTabActivity.class);
//Sending data to another Activity
//THIS IS THE VALUE I WANNA TRANSFER TO TAB ACTIVITY
nextScreen.putExtra("name", inputName.getText().toString());
nextScreen.putExtra("address", inputEmail.getText().toString());
// starting new activity
startActivity(nextScreen);
}
});
}
}
и вот моя MainTabActivity:
public class MainTabActivity extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maintabresto);
Resources res = getResources(); // Resource object to get Drawables
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, InfoTab.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("info").setIndicator("Info",
res.getDrawable(R.drawable.iconinfotab))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, MenuTab.class);
spec = tabHost.newTabSpec("menu").setIndicator("Menu",
res.getDrawable(R.drawable.iconmenutab))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
}
}
и вот мое 3-е и 4-е занятие (я хочу отобразить значение, которое я передал в текстовое представление в каждом занятии):
public class InfoTab extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.infotab);
TextView txtname = (TextView) findViewById(R.id.textTEST1);
TextView txtaddress = (TextView) findViewById(R.id.TextTEST2);
//displaying data from previous activity
//this is didnt work
Intent i = getIntent();
// Receiving the Data
String name = i.getStringExtra("name");
String address = i.getStringExtra("address");
// Displaying Received data
//this is didnt work
txtname.setText(name);
txtaddress.setText(address);
}
}
Кто-нибудь может мне помочь ??
я пытаюсь сделать это на первой активности:
Intent nextScreen = new Intent(getApplicationContext(), InfoTab.class);
это работает! (Значение может быть перенесено в nextactivity, но вместо этого открывается действие на вкладке, действие открывается отдельно (не на вкладке) ...
поэтому моя цель здесь - перенести значение в каждое действие вкладки, которое они открывают ниже MainTabActivity.
извините, если мой английский не очень хорош.