私は、ボタンのテキストを変更してユーザーの時間を計るだけのリスナーを持っています。私はまた、ユーザーが時計を切ったときに働いた新しい総時間に変更するはずのテキストビューを持っています。私はxmlをダブルチェックして、正しいR.Idを取得していたことを確認し、リスナーのボタンがTextViewではないことがわかりました。TextViewがnullを返しています
public class HoursListener implements OnClickListener{
GlobalApp appState;
Button startStopHoursButton;
TextView hoursTotalTextView;
public boolean clockedIn;
public HoursListener(Context ctx){
appState = ((GlobalApp)ctx.getApplicationContext());
}
public void onClick(View v) {
startStopHoursButton = (Button) v.findViewById(R.id.hourstogglebutton);
hoursTotalTextView = (TextView) v.findViewById(R.id.totalWorktimeTextView);
if(!clockedIn){
startStopHoursButton.setText(R.string.clockout);
appState.getCurrentCompany().getCurrentNewWeeklyTimestamp().CreateFinishTimeStamp();
clockedIn = true;
}else{
startStopHoursButton.setText(R.string.clockin);
appState.getCurrentCompany().getCurrentNewWeeklyTimestamp().CreateFinishTimeStamp();
clockedIn = false;
hoursTotalTextView.setText(appState.getCurrentCompany().getCurrentNewWeeklyTimestamp().totalTimeDoneThisWeekToString());
}
}
}
相続人のTextViewのためのXML::ここではコードです
<TextView
android:id="@+id/totalWorktimeTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall"/>
エラーは、この行を次のとおりです。
hoursTotalTextView.setText(appState.getCurrentCompany().getCurrentNewWeeklyTimestamp().totalTimeDoneThisWeekToString());
私は考えていましたアクティビティ自体にコードを入れていますが、私はこのようにすることができるように感じています。リスナーのように呼び出せるものが欲しいので、私のコードでは冗長性を減らしています。私はそれがnullTotalTextViewであることをダブルチェックしました。しかし、ボタンはありません。何か案は?関連する値がnullでないことを示す(フルサイズバージョンにリンクされた)のEclipse
スクリーンショット:
GlobalApp appStateとは何ですか? –
私の静的変数のアプリケーションクラスです。 – slai47