0

私はここでは初めてで、Android プログラミングも初めてです。したがって、これに関するヘルプは大歓迎です。

私は Android アプリ (基本的には developer.android.com にある例) を実行し、それをカスタマイズして、上部に画面番号を表示するナビゲーション バーを追加しています。アプリのアイデアは、ユーザーが最初の画面にメッセージを入力し、2 番目の画面にメッセージを表示できるようにすることです。(1/2) を表示する最初の画面にナビゲーション バーを設定することができました。同様に、ナビゲーション バーと (2/2) を表示する必要がある 2 番目の画面の xml ファイルにレイアウトを定義しました。また、後で使用する「停止」ボタンを追加しました。

ただし、私が直面している問題は、2番目の画面にユーザーから受け取ったメッセージのみが表示され、必要なレイアウト(ナビゲーションバー)が表示されないことです。これの根本的な原因は、次のコードであると正しく判断したと思います。

//Create the text view 
TextView textView = new TextView(this); 
textView.setTextSize(40); 
textView.setText(message); 

// Set the text view as the activity layout
setContentView(textView);

ここで使用した setContentView() メソッドは、最初のアクティビティから受け取ったメッセージを表示していると思います。この行をコメントアウトすると、次を使用して 2 番目の画面の目的の書式を取得します。

setContentView(R.layout.activity_second_screen);

しかし、なぜ、そしてどのように両方を一緒にクラブにするのかを完全に理解することはできません. setContentView(textView) がコメントされていない場合、 setContentView(R.layout..) が期待どおりに機能しないように見えますが、これは正常だと思います。

前もって感謝します。

編集 - このような迅速な対応をしてくれた CodeMagic に感謝します。あなたのソリューションを試す前に、ここに完全な作成があります。「停止」ボタンを処理するコードがいくつかありますが、まだ実装していません。だから無視してください。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_screen);//Change-11/10 6:00 PM


Button buttonStop=(Button)findByViewId(R.id.buttonStop);//Change-11/10 6:00 PM
buttonStop.setOnClickListener(stopListener);//Change-11/10 6:00 PM

Intent intent = getIntent();
String message = intent.getStringExtra(FirstActivity.EXTRA_MESSAGE);
setContentView(R.layout.activity_second_screen);

// Create the text view - this code prints the message typed in first
//screen and displays on second screen, ignoring the xml layout of second screen     
TextView textView = new TextView(this); 
textView.setTextSize(40); 
textView.setText(message); 

// Set the text view as the activity layout
setContentView(textView); //change-11/11-9:00 PM
//setContentView(R.layout.activity_second_screen); 
}
4

2 に答える 2