我与问题战斗。我希望我的Textviews显示整数值并每秒刷新一次。Android更新/刷新TextView
我的Integer对象
public Integer Money[] = new Integer[1];
public void MoneyMaker(int count,int c){
Money[c] = count;
}
public void MakeMoney(){
int count = 0;
MoneyMaker(0, count);
}
在MainActivity我达到他们的
MainHolder Main = new MainHolder();
我的TextView这样的:在mainActivity onCreate方法
<TextView
android:text="Money: "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/MoneyText"
android:layout_marginLeft="67dp"
android:layout_marginStart="67dp"
android:layout_alignTop="@+id/btn_Money"
android:layout_toRightOf="@+id/btn_Money"
android:layout_toEndOf="@+id/btn_Money"
android:layout_marginTop="38dp" />
<TextView
android:text="Box: "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/BoxesText"
android:layout_marginLeft="67dp"
android:layout_marginStart="67dp"
android:layout_alignTop="@+id/btn_Boxes"
android:layout_toRightOf="@+id/btn_Boxes"
android:layout_toEndOf="@+id/btn_Boxes"
android:layout_marginTop="38dp" />
了 “ĢameLoop”
Thread t = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
Refresh();
SaveFile();
}
});
}
} catch (InterruptedException e) {
}
}
};
t.start();
,并得到刷新方法
public void Refresh(){
TextView MoneyTXT = (TextView) findViewById(R.id.MoneyText);
MoneyTXT.setText("Money: " +Main.Money[0]);
TextView BoxesTXT = (TextView) findViewById(R.id.BoxesText);
BoxesTXT.setText("Boxes: " +Main.Boxes[0]);
}
的OnCreate类
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
LoadFile();
Thread t = new Thread() {
@Override
public void run() {
try {
while (!isInterrupted()) {
Thread.sleep(1000);
runOnUiThread(new Runnable() {
@Override
public void run() {
Refresh();
SaveFile();
}
});
}
} catch (InterruptedException e) {
}
}
};
t.start();
}
我没有表现出任何代码错误,但启动应用程序时,它会自动关闭的。 在logcat中,遇到错误:
11-07 19:10:10.007 29809-29809/com.crelix.crelix E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.crelix.crelix, PID: 29809
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
at com.crelix.crelix.NavigationActivity.Refresh(NavigationActivity.java:147)
at com.crelix.crelix.NavigationActivity$1$1.run(NavigationActivity.java:66)
at android.os.Handler.handleCallback(Handler.java:810)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:189)
at android.app.ActivityThread.main(ActivityThread.java:5529)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
的可能的复制[什么是空指针异常,以及如何解决?(http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how -do-i-fix-it) –
在哪里初始化Main.Money [0]和Main.Boxes [0]? – compte14031879
请发布全班。 –