我想在setOnClickListener
中设置TextView,但点击按钮时应用会崩溃。 Id都是一样的,一切都已初始化
我的活动:
public class SpielActivity extends Activity {
TextView fehleranzahl;
Button buttonA, buttonB, buttonC, buttonD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spiel);
fehleranzahl = (TextView) findViewById(R.id.fehleranzahl);
fehleranzahl.setText("0");
initializeButtons();
buttonA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
buttonA.setVisibility(View.INVISIBLE);
fehleranzahl.setText(klartextWort);
}
});
}
private void initializeButtons() {
buttonA = (Button) findViewById(R.id.A);
buttonB = (Button) findViewById(R.id.B);
buttonC = (Button) findViewById(R.id.C);
buttonD = (Button) findViewById(R.id.D);
}
fehleranzahl.setText("0");
没有任何问题,但是
fehleranzahl.setText(klartextWort);
中的buttonA.setOnClickListener
崩溃了该应用。
我的activity.xml:
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0099cc"
tools:context=".SpielActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fehleranzahl"
android:layout_gravity="right|top"
android:textSize="35sp"
android:textColor="#FFFFFF"
android:gravity="bottom"/>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"
android:id="@+id/A"
android:layout_row="1"
android:layout_column="1" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"
android:id="@+id/B"
android:layout_row="1"
android:layout_column="2" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"
android:id="@+id/C"
android:layout_row="1"
android:layout_column="3" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="D"
android:id="@+id/D"
android:layout_row="1"
android:layout_column="4" />
答案 0 :(得分:0)
确保klartextWort
已初始化,且为String
。
String klartextWort = "Some random text";
fehleranzahl.setText(klartextWort);
如果klartextWort
是textbox
,请从中获取文字并进行设置。
fehleranzahl.setText(klartextWort.getText().toString());
答案 1 :(得分:0)
设置字符串f()
String klartextWort = "fanny pick text";
然后用try catch包围。
答案 2 :(得分:0)
您似乎尚未初始化klartextWort
。
首先在顶部用值初始化它,如下所示:
String klartextWort = "Default text";
答案 3 :(得分:0)
'setText()'接受CharSequesnce或String或int值。 int,如果您在资源文件夹的string.xml中声明了字符串值。
如果要将文本设置为“klartextWort”,则fehleranzahl.setText("klartextWort");
否则初始化'klartextWort'并设置文本。代码应该像
String klartextWort = "your string";
fehleranzahl.setText(klartextWor");
答案 4 :(得分:0)
在你的代码中没有像'klartextWort'那样的东西。尝试将字符串设置为该变量,如
String klartextWort = "Sample String"
答案 5 :(得分:0)
如果klartextWort
是您在String
中定义的strings.xml
,则必须放入R.string.klartextWort
。
我认为这就是问题所在。