Я пытаюсь установить значение (глобальное) в функции и получить к нему доступ вне функции, которая находится в «При создании ()» в Android. Я пытался сделать глобальную переменную статической и даже пытался записать ее в « редактировать текст» и анализировать его в «on create()». но он продолжает инициализироваться до 0.0 (переменная имеет двойной тип), когда я пытался получить доступ в "on create()",
о, и я не могу вернуть значение, потому что функция слишком вложена, поэтому вся иерархия слишком сложна. :(
Кто-нибудь может мне с этим помочь;
public class TryActivity extends Activity
{
double BAT;\\ global value
public void onCreate(Bundle savedInstanceState)
{
disp(); // calling the function disp to set the value to BAT
String To_string=Double.toString(BAT);
System.out.println("Current Battery level ==="+To_string); \\ prints 0.0 the wrong value
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void disp(){
this.registerReceiver(this.batteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
private BroadcastReceiver batteryInfoReceiver = new BroadcastReceiver(){
public void onReceive(Context context, Intent intent){
double level= intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
BAT=level;
Textview1 = (EditText) findViewById(R.id.Textview1);
Textview1.setText(Double.toString(BAT)); // sets the correct value
System.out.println("bbbattererrerey 1 "+Double.toString(BAT)); //prints the correct value
}
};
}
OnCreate
— это первое, что запускается, поэтому, если вы не вызовете функцию в методеOnCreate
перед ссылкой на переменную, она будет иметь значение 0,0 (значение по умолчанию). Может быть, опубликуйте какой-нибудь код, чтобы я мог точно видеть, что происходит и что вам нужно? - person ArmaAK   schedule 31.01.2014and I even tried to write it in a "edit text" and parsing it in "on create()"
...звучит как логическая проблема... - person FD_   schedule 31.01.2014