gpt4 book ai didi

java - 代码在模拟器中崩溃,不知道为什么。 android/java 开发新手

转载 作者:行者123 更新时间:2023-11-30 03:53:10 24 4
gpt4 key购买 nike

我对 android 和 java 开发都很陌生。我正在尝试构建一个简单的应用程序。目前很容易,但我似乎无法运行代码。一旦我在模拟器中运行该应用程序,它就会发出一条警告,提示我的应用程序已停止。

这是我的代码:

package com.example.ultimatescoreclock;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.os.CountDownTimer;

public class MainActivity extends Activity {

// variables for the clock
byte minRemaining = 0;
byte secRemaining = 0;
long msRemaining = 360000; // six minutes
TextView mainClock = (TextView) findViewById(R.id.clockMain);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

public byte getMinutes(long millisUntilFinished) {
return (byte) (millisUntilFinished / 60000);
}

public void onMainClockClick() {
StringBuilder str = new StringBuilder("");

str.append(minRemaining + ":" + secRemaining);
mainClock.setText(str);
}
}

有人可以让我知道我在这里犯了什么愚蠢的错误吗?仅供引用 - 我的 XML 文档为 R.id.mainClock TextView 设置了 onClick 属性。

最佳答案

- 您可以定义不初始化 View 之前 setContentView() 方法。

- TextView mainClock = (TextView) findViewById(R.id.clockMain); 之前 setContentView() 导致崩溃。

-仅在 setContentView() 方法之后,可以分配 id View ,导致到那时 View 未初始化

- 这就是使用 setContentView(...) 的全部要点,它膨胀 XML 布局文件并且直到你有某种膨胀的 View ,你将无法获得对它的任何部分的引用

例如:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainClock = (TextView) findViewById(R.id.clockMain);
}

关于java - 代码在模拟器中崩溃,不知道为什么。 android/java 开发新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com