Когда я использую getApplicationContext()
, затмение этого времени дает мне ошибку create method 'getApplicationContext()'
. Подскажите, пожалуйста, как убрать эту ошибку. Я также пытаюсь использовать ClassName.this в ту временную ошибку, например change method startListening(Context) to startListening(Main)
Также, когда я использую как: measurement_index = AppSettings.getMeasureUnit(this);
, тогда ошибка как: change method getMeasureUnit(Context) to getMeasureUnit(Main)
Поэтому, пожалуйста, дайте мне знать, как можно решить ошибку, например:
создать метод 'getApplicationContext()'
изменить метод getMeasureUnit(Context) на getMeasureUnit(Main)
Проверьте мой код.
Основной.класс
public class Main extends Fragment implements GPSCallback{
.......
public static Fragment newInstance(int position) {
Main f = new Main();
Bundle args = new Bundle();
...
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final ViewGroup root = (ViewGroup) inflater.inflate(R.layout.main, null);
/*Intent in = new Intent(Main.this,MainDisplay.class);
// ------------> Here give error like : Remove arguments match to Intent();
startActivity(in);*/
tv_display_Speed = (TextView) root.findViewById(R.id.speed_display);
gpsManager = new GPSManager();
gpsManager.startListening(getApplicationContext());
//------------> Eclipse give me error create method 'getApplicationContext()'
gpsManager.setGPSCallback(this);
//(TextView)root.findViewById(R.id.speed_display);
measurement_index = AppSettings.getMeasureUnit(this);
//------------> Here Give me error like : change method getMeasureUnit(Context) to getMeasureUnit(Main)
btnstart = (Button) root.findViewById(R.id.button_start);
btnstart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
return root;
}
Метод startListening:
public void startListening(final Context context)
{
....
}
Метод getMeasureUnit:
public static int public static int getMeasureUnit(Context context){
return getInt(context,AppSettings.UNIT_STRING);
}
ИЗМЕНИТЬ:
Я добавил метод onStart()
в класс выше, который расширяет фрагмент. В этот раз в runOnUiThread(updateTask);
Eclipse выдает ошибку типа: create method runOnUiThread(Runnable)
. Пожалуйста, дайте мне знать, как я могу этого добиться.
@Override
public void onStart() {
super.onStart();
timer = new Timer("DigitalClock");
Calendar calendar = Calendar.getInstance();
// Get the Current Time
final Runnable updateTask = new Runnable() {
public void run() {
txt_display_clock.setText(getCurrentTimeString()); // shows the current
// time of the day
}
};
// update the UI
int msec = 999 - calendar.get(Calendar.MILLISECOND);
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(updateTask); // <---------------- HERE
}
}, msec, 1000);
}
getActivity().getApplicationContext()
подойдет. - person Mohammed Azharuddin Shaikh   schedule 23.11.2012fragment to activity
возможно ли это? - person Rahul Patel   schedule 23.11.2012onstart()
, то при использованииrunOnUiThread(updateTask);
в этот раз возникла ошибка, например: создать метод runOnUiThread (Runnable); Пожалуйста, проверьте мой обновленный код. и дайте мне решение. - person Rahul Patel   schedule 23.11.2012