シンプルなテキストゲームを作ろうとしていますが、最初のステップさえできません。レイアウトには textview と 3 つのラジオ ボタンがあります。ラジオ ボタンの 1 つをクリックしたときにテキストを変更し、アプリが使用するテキストを決定するために、位置 int があります。例: ボタン 1 を選択します。位置 = 1 の場合、テキストをテキスト 2 に設定します。位置 = 9 の場合、テキストを 11 に設定します。コードは次のとおりです。
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
public class Game extends Activity implements OnCheckedChangeListener{
public int position;
TextView text;
RadioGroup rggr;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
position = 1;
text = (TextView) findViewById(R.id.text);
setContentView(R.layout.p1);
rggr = (RadioGroup) findViewById(R.id.rgGr);
rggr.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch (checkedId){
case R.id.rb1:
if(position == 1){
text.setText("this is text 1");
position = 2;
}
}
}
}
「text.setText("this is text 1");」という行を変更すると、別のものに。たとえば、setcontentview の場合はすべて機能します。しかし、テキストを変更したい場合、ラジオボタンを選択した瞬間にクラッシュします。