Перенос значения в TAB Activity - PullRequest
0 голосов
/ 30 марта 2012

У меня 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.

извините, если мой английский не очень хорош.

1 Ответ

0 голосов
/ 23 ноября 2012

Я думаю, что в вашем коде есть небольшая ошибка.Но я не могу понять это.

Ниже приведен код моего tabActivity, в котором я делаю то же самое, что вы хотели.

...