所以我有一個更早的版本。不幸的是,我忘了將工作版本複製到我的USB上,所以我試圖在家中複製它。我有5個方向單選按鈕。每次檢查一次,都應該改變TextView中的文本以與相關的方向相對應。不幸的是,這似乎並不奏效。試圖運行該應用程序時,它崩潰。單選按鈕的OnClick事件不起作用
調試屏幕也會拋出一些關於空指針異常的信息。另外,在單選按鈕的xml代碼中,有一些關於我在Main中找不到的方法。任何幫助表示讚賞。
<RadioButton
android:text="@string/north"
android:layout_width="79dp"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:layout_marginStart="12dp"
android:layout_marginTop="29dp"
android:id="@+id/north"
android:onClick="onClick" />
<RadioButton
android:text="@string/south"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/south" />
<RadioButton
android:text="@string/east"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/east" />
<RadioButton
android:text="@string/west"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/west" />
<RadioButton
android:text="@string/center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/center" />
</RadioGroup>
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
android:id="@+id/speed"
android:layout_below="@+id/Speed"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
活動:
public class MainActivity extends AppCompatActivity {
RadioButton n, s, e, w, c;
// TextView text = (TextView)findViewById(R.id.text);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public View.OnClickListener optionOnClickListener;
{
optionOnClickListener = new OnClickListener() {
public View v;
public void onClick(View v) {
this.v = v;
TextView text = (TextView) findViewById(R.id.text);
String str = null;
n = (RadioButton) findViewById(R.id.north);
s = (RadioButton) findViewById(R.id.south);
e = (RadioButton) findViewById(R.id.east);
w = (RadioButton) findViewById(R.id.west);
c = (RadioButton) findViewById(R.id.center);
// you can simply copy the string of clicked button.
str = ((RadioButton) v).getText().toString();
text.setText(str);
// or, you can check each radiobutton and find which one is checked.
if (n.isChecked()) {
text.setText("North");
} else if (s.isChecked()) {
text.setText("South");
} else if (e.isChecked()) {
text.setText("East");
} else if (w.isChecked()) {
text.setText("West");
} else if (c.isChecked()) {
text.setText("Center");
}
}
};
}
}
你可以發佈異常的堆棧跟蹤嗎? –
我想你會在這裏找到答案 http://stackoverflow.com/questions/9748070/radio-group-onclick-event-not-firing-how-do-i-tell-which-is-selected 對於你的問題 – Shyamali
關於電臺**組的問題**會告訴他爲什麼這個應用程序無法啓動? –