2017-08-15 5 views
1

1回目のクリックで時間が更新されます...次回にクリックした場合動作しません。助けてください...質問の終わり。ボタンがクリックされるたびにTextViewで時間が更新されない...問題が何ですか?

スタックオーバーフロー詳細を入力してください。

:しかし、この質問は、私は、私はそれはまだ私がコード

Javaコードを作るために何かを入力したい長い間、このために多くを入力することができないものを追加するかわからない以上説明

を必要としません。

package com.test.blog.timepicktest; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import java.util.Calendar; 

public class MainActivity extends AppCompatActivity { 

    Calendar c = Calendar.getInstance(); 
    TextView tv; 
    Button btn; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     tv = (TextView) findViewById(R.id.tv); 
     btn = (Button) findViewById(R.id.btn); 
     btn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       tv.setText(c.get(Calendar.HOUR) + ":" + c.get(Calendar.MINUTE) + ":" + c.get(Calendar.SECOND)); 
      } 
     }); 


    } 


} 

XMLファイル:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.adiraimaji.blog.timepicktest.MainActivity"> 

    <TextView 

     android:layout_width="174dp" 
     android:layout_height="48dp" 
     android:gravity="center" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintVertical_bias="0.268" 
     tools:layout_editor_absoluteX="82dp" 
     android:id="@+id/tv" 
     app:layout_constraintHorizontal_bias="0.501" /> 

    <Button 
     android:id="@+id/btn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" 
     android:layout_marginTop="8dp" 
     android:layout_marginRight="8dp" 
     app:layout_constraintRight_toRightOf="parent" 
     android:layout_marginLeft="8dp" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/tv" 
     app:layout_constraintBottom_toBottomOf="parent" 
     android:layout_marginBottom="8dp" /> 

</android.support.constraint.ConstraintLayout> 
+0

カレンダーc = Calendar.getInstance();行を 'onClick()'の中に移動します。 –

+2

ありがとう@MikeM。私はそのような愚かなことをやろうとは決して考えなかった....:D – Jijoe

答えて

1

c.get()は、カレンダーの日付を更新しません。

onClickを処理する場合は、Calendar.getInstance().get(...)を使用する必要があります。

関連する問題