おそらく単純なエラーですが、logcat が私を混乱させています。リストビューからこのアクティビティに変数 'name' を渡したところ、XML ファイルで textview ID として使用されている 'detailedsocietyname' を使用して、タイトル textview をその変数に変更したいと考えています。
final TextView changetitle = (TextView) findViewById(R.id.detailedsocietyname);
changetitle.setText(name);
それがうまくいかなかったとき、代わりにトーストを使ってテストしようとしました
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show();
問題は、リストビューの選択が選択されたときにアプリがシャットダウンすることです....上記のすべてのコードがコメントアウトされている場合、機能しますが、デフォルトの画面タイトル「例」が表示されます。
前もって感謝します、
完全なコード
package com.apolloapps.ntusoc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class DetailedScreen extends Activity {
final TextView changetitle = (TextView) findViewById(R.id.detailedsocietyname);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Show the Up button in the action bar.
//getActionBar().setDisplayHomeAsUpEnabled(true);
Intent in = getIntent();
String name = in.getStringExtra(("name"));//gets name from intent
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_LONG).show();
changetitle.setText(name);
this.setContentView(R.layout.detailedscreen);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.detailedscreen, menu);
return true;
}
}
編集: 最初のアクティビティ インテント コード
final String selected = (String) parent.getSelectedItem();
Intent i = new Intent(getApplicationContext(), DetailedScreen.class);
i.putExtra("name", selected);
startActivity (i);
解決策: 使用
final String name = items[position];
それ以外の
final String selected = (String) parent.getSelectedItem();