크로노 미터를 설정할 때 문제가 있습니다. Java 파일에 "updateTimerText"에 오류가 표시됩니다. 메서드 "updateTimerText (java.lang.string)을 해결할 수 없습니다. 어떻게 해결합니까?이 작업을 캐스팅하려고하는 조각은 모두 정밀합니다. Chronometer.java입니다. 당신이 다른 어떤 정보 나 코드가 필요한 경우 파일. 알려주세요. 감사합니다 사전에. 그것을 어떤 방식으로, 모양이나 형태로 도움이 될 것입니다 경우 여기 크로노 미터가 해결할 수 없음
package com.example.platinumirish.runassistwithdrawer;
import android.content.Context;
import runassist.demo.fragments.MainFragment;
/**
* Created by Platinum Irish on 22/06/2016.
*/
public class Chronometer implements Runnable {
public static final long MILLIS_TO_MINUTES = 60000;
public static final long MILLIS_TO_HOURS = 3600000;
private Context mContext;
private long mStartTime;
private boolean mIsRunning;
public Chronometer(Context context){
mContext = context;
}
public void start() {
mStartTime = System.currentTimeMillis();
mIsRunning = true;
}
public void stop() {
mIsRunning = false;
}
@Override
public void run() {
while(mIsRunning) {
long since = System.currentTimeMillis() - mStartTime;
int seconds = (int) (since/1000 % 60);
int minutes = (int)(((since/MILLIS_TO_MINUTES)) % 60);
int hours = (int)((since/(MILLIS_TO_HOURS)) % 24);
int millis = (int) since % 1000;
MainFragment mainFragment = (MainFragment) mContext.updateTimerText(String.format(
"%02d;%02d;%02d;%03d", hours, minutes, seconds, millis
));
}
}
}
너무 내 홈페이지 조각입니다.
package runassist.demo.fragments;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.TextView;
import com.example.platinumirish.runassistwithdrawer.R;
public class MainFragment extends Fragment{
private TextView mTvTime;
private Button mBtnStart;
private Button mBtnStop;
private Context mContext;
private Chronometer mChronometer;
private Thread mThreadChrono;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
mTvTime = (TextView) rootView.findViewById(R.id.chronometer);
mBtnStart = (Button) rootView.findViewById(R.id.start_button);
mBtnStop = (Button) rootView.findViewById(R.id.stop_button);
mBtnStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mChronometer == null) {
mChronometer = new Chronometer(mContext);
mThreadChrono = new Thread((Runnable) mChronometer);
mThreadChrono.start();
mChronometer.start();
}
}
});
mBtnStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mChronometer !=null) {
mChronometer.stop();
mThreadChrono.interrupt();
mThreadChrono = null;
mChronometer = null;
}
}
});
return rootView;
}
public void updateTimerText(final String time) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mTvTime.setText(time);
}
});
}
private void runOnUiThread(Runnable runnable) {
}
}
이것은 자바가 아니며, android – SomeDude
팁을 주셔서 감사합니다. –
''((MainFragment) mContext) .updateTimerText (...)''이것은 원하는 방식입니다 불러라. mContext 주변의 사각형을 확인하십시오. – danypata