需要一些帮助来调试我的代码。我对 Android SDK 非常陌生,并且正在努力学习它。从我可以从 SO 和其他谷歌搜索结果的几篇文章中收集到的内容......我制定了这段代码。
public class MainMenu extends Activity {
private int str = 8, dex = 8, inte = 8, luk = 8, stats = 20;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayShowHomeEnabled(false);
getActionBar().setDisplayShowTitleEnabled(false);
setContentView(R.layout.activity_main_menu);
}
如您所见,我创建了一些私有变量,我的应用程序将使用它来存储数据。为了与这些值交互,我会在每次修改它们时重新绘制 TextView。*如果这不是一个理想的策略,请随时在这里纠正我。
public void strup(View view) {
if(stats > 0) {
TextView tv = (TextView)findViewById(R.id.textView4);
TextView st = (TextView)findViewById(R.id.textView18);
str++;
stats--;
tv.setText(str);
st.setText(stats);
} else {
Toast.makeText(this, "Out of stats!", Toast.LENGTH_SHORT).show();
}
我使用具有以下格式的按钮。
Str [X] [+1]
其中 Str [X] 是 TextView,其中 X 是动态值。此外,其中 [+1] 是具有由 XML 文件预设的 Onclick 功能的按钮。
<TextView
android:id="@+id/textView9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Str [" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="8" />
<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="]" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="strup"
android:text="+1" />
现在为简单起见,我更改了 "android:text="" " 行以反映它们的实际值,而不是链接到 @string/... 我认为这没有太大区别,但我想承认这一点。
所以我的问题是为什么当我点击“+1”按钮时我的应用程序会崩溃?我的应用程序试图做的就是用更高的值(在 str 下)和更低的值(在 stats 下)重绘 TextView。
感谢您的任何帮助!