0

私は10個のレイアウトを持っており、各レイアウトはすべて同じタイトル+サブタイトルで構築されているので、私はそうしました:

public abstract class Menu_Segnalazione extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = getIntent();
    final String titolo = intent.getStringExtra("titolo");
    final String sottoT = intent.getStringExtra("sottoT");

    //Display back arrow on actionbar
    ActionBar ab = getActionBar();
    ab.setDisplayHomeAsUpEnabled(true);

    setContentView(R.layout.intestazione);
    ((TextView) findViewById(R.id.titolo)).setText("ahh");
    ((TextView) findViewById(R.id.sottoTitolo)).setText("xcvxcv");
}

と:

public class ActivityPalinePensiline extends Menu_Segnalazione {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.anomalia_paline);

    palineAction();

}

R.layout.anomalia_palina は、menu_segnalazione+other を含むレイアウトです menu_segnalazione は、レイアウト タイトル + サブタイトルです。

問題は、R.id.titolo と R.id.sottoTitolo のテキストが変わらないことです....

なにが問題ですか?

4

1 に答える 1

1

あなたが行っているビューの初期化Menu_Segnalazione::onCreateは完了しましたがActivityPalinePensiline::onCreate、parent::onCreate の直後に新しいレイアウトをロードすることでこれをオーバーライドしています..

メソッドの後initView()に毎回呼び出す で、タイトル/字幕の初期化コードを外部化する必要がありますonCreate()setContentView()

例 :

public abstract class Menu_Segnalazione extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

protected void initViews() {
    Intent intent = getIntent();
    final String titolo = intent.getStringExtra("titolo");
    final String sottoT = intent.getStringExtra("sottoT");

    //Display back arrow on actionbar
    ActionBar ab = getActionBar();
    ab.setDisplayHomeAsUpEnabled(true);

    setContentView(R.layout.intestazione);
    ((TextView) findViewById(R.id.titolo)).setText("ahh");
    ((TextView) findViewById(R.id.sottoTitolo)).setText("xcvxcv");
}

public class ActivityPalinePensiline extends Menu_Segnalazione {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.anomalia_paline);

    initViews();

    palineAction();

}

@Override
protected void initViews() {
   super.initViews();

   // add here custom initialisation for this activity
}
于 2012-10-27T13:00:39.683 に答える