Java 点击按钮关闭Android应用程序(在自定义注册页面上)
需要一些帮助调试我的代码。我对Android SDK非常陌生,正在努力学习。从我在SO和其他google搜索结果上的几篇帖子中收集到的信息。。。我制定了这个准则Java 点击按钮关闭Android应用程序(在自定义注册页面上),java,android,eclipse,smartphone,Java,Android,Eclipse,Smartphone,需要一些帮助调试我的代码。我对Android SDK非常陌生,正在努力学习。从我在SO和其他google搜索结果上的几篇帖子中收集到的信息。。。我制定了这个准则 public class MainMenu extends Activity { private int str = 8, dex = 8, inte = 8, luk = 8, stats = 20; @Override protected void onCreate(Bundle savedInstanceState) {
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]是具有动态值X的TextView。
其中[+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
谢谢你的帮助 尝试更改
设置内容视图(R.layout.activity\u主菜单)的位置代码>
尝试更改setContentView(R.layout.activity\u主菜单)的位置代码>
您试图创建此对象:
TextView st = (TextView)findViewById(R.id.textView18);
textView18在xml中的什么位置 您试图创建此对象:
TextView st = (TextView)findViewById(R.id.textView18);
textView18在xml中的什么位置 您正在settext中传递整数值。可以将整数强制转换为字符串,也可以尝试更改settext,如下所示:
tv.setText(""+str);
st.setText(""+stats);
您正在settext中传递整数值。可以将整数强制转换为字符串,也可以尝试更改settext,如下所示:
tv.setText(""+str);
st.setText(""+stats);
您可以使用toString方法进行如下铸造:
tv.setText(str.toString());
st.setText(stats.toString()) u可以使用以下toString方法进行铸造:
tv.setText(str.toString());
st.setText(stats.toString()) 这不会有任何区别…检查我的答案。这不会有任何区别…检查我的答案。