variable initialized in Kotlin





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















in this class below there is two Dates StartDate && EndDate i give them Values in
fun check_date() but in fun DateIsChecked() when i try to print the two Values it print null Why?
i try to use lateinit but it did not work



companion object {
//Today Date
var today = Calendar.getInstance().time
//Date Format
val sdf = SimpleDateFormat("yyyy/MM/dd")

var calender = Calendar.getInstance()

//Dates Of Plan
var StartDate: java.util.Date? = null
var EndDate: java.util.Date? = null

//Int Value Fore Loop
var i = 0
}

//Check Plan Dates in Database
fun check_date(){
var Ref = FirebaseDatabase.getInstance().reference
Ref.keepSynced(true)//Enable Data Synced
Ref.child("Plan").addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}//End onCancelled
override fun onDataChange(p0: DataSnapshot){
for (date in p0.children) {
var item = date.getValue(Date::class.java)
if (i == 0) {
i = 1
calender.time = sdf.parse(item!!.Date)
EndDate = calender.time
} else {
i = 0
calender.time = sdf.parse(item!!.Date)
StartDate = calender.time
}//End else
}//End For
}//End onDataChange
})//End addValueEventListener
}//End

//Chick in Today Date In Date Range And Return The Result: Boolean
open fun DateIsChecked(): Boolean{
check_date()
Log.e("Date",today.toString())
Log.e("Date", StartDate.toString())
Log.e("Date", EndDate.toString())
return true
}









share|improve this question


















  • 1





    They're only going to be assigned if whatever is in your Plan reference actually changes.

    – TheWanderer
    Nov 23 '18 at 13:28


















0















in this class below there is two Dates StartDate && EndDate i give them Values in
fun check_date() but in fun DateIsChecked() when i try to print the two Values it print null Why?
i try to use lateinit but it did not work



companion object {
//Today Date
var today = Calendar.getInstance().time
//Date Format
val sdf = SimpleDateFormat("yyyy/MM/dd")

var calender = Calendar.getInstance()

//Dates Of Plan
var StartDate: java.util.Date? = null
var EndDate: java.util.Date? = null

//Int Value Fore Loop
var i = 0
}

//Check Plan Dates in Database
fun check_date(){
var Ref = FirebaseDatabase.getInstance().reference
Ref.keepSynced(true)//Enable Data Synced
Ref.child("Plan").addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}//End onCancelled
override fun onDataChange(p0: DataSnapshot){
for (date in p0.children) {
var item = date.getValue(Date::class.java)
if (i == 0) {
i = 1
calender.time = sdf.parse(item!!.Date)
EndDate = calender.time
} else {
i = 0
calender.time = sdf.parse(item!!.Date)
StartDate = calender.time
}//End else
}//End For
}//End onDataChange
})//End addValueEventListener
}//End

//Chick in Today Date In Date Range And Return The Result: Boolean
open fun DateIsChecked(): Boolean{
check_date()
Log.e("Date",today.toString())
Log.e("Date", StartDate.toString())
Log.e("Date", EndDate.toString())
return true
}









share|improve this question


















  • 1





    They're only going to be assigned if whatever is in your Plan reference actually changes.

    – TheWanderer
    Nov 23 '18 at 13:28














0












0








0








in this class below there is two Dates StartDate && EndDate i give them Values in
fun check_date() but in fun DateIsChecked() when i try to print the two Values it print null Why?
i try to use lateinit but it did not work



companion object {
//Today Date
var today = Calendar.getInstance().time
//Date Format
val sdf = SimpleDateFormat("yyyy/MM/dd")

var calender = Calendar.getInstance()

//Dates Of Plan
var StartDate: java.util.Date? = null
var EndDate: java.util.Date? = null

//Int Value Fore Loop
var i = 0
}

//Check Plan Dates in Database
fun check_date(){
var Ref = FirebaseDatabase.getInstance().reference
Ref.keepSynced(true)//Enable Data Synced
Ref.child("Plan").addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}//End onCancelled
override fun onDataChange(p0: DataSnapshot){
for (date in p0.children) {
var item = date.getValue(Date::class.java)
if (i == 0) {
i = 1
calender.time = sdf.parse(item!!.Date)
EndDate = calender.time
} else {
i = 0
calender.time = sdf.parse(item!!.Date)
StartDate = calender.time
}//End else
}//End For
}//End onDataChange
})//End addValueEventListener
}//End

//Chick in Today Date In Date Range And Return The Result: Boolean
open fun DateIsChecked(): Boolean{
check_date()
Log.e("Date",today.toString())
Log.e("Date", StartDate.toString())
Log.e("Date", EndDate.toString())
return true
}









share|improve this question














in this class below there is two Dates StartDate && EndDate i give them Values in
fun check_date() but in fun DateIsChecked() when i try to print the two Values it print null Why?
i try to use lateinit but it did not work



companion object {
//Today Date
var today = Calendar.getInstance().time
//Date Format
val sdf = SimpleDateFormat("yyyy/MM/dd")

var calender = Calendar.getInstance()

//Dates Of Plan
var StartDate: java.util.Date? = null
var EndDate: java.util.Date? = null

//Int Value Fore Loop
var i = 0
}

//Check Plan Dates in Database
fun check_date(){
var Ref = FirebaseDatabase.getInstance().reference
Ref.keepSynced(true)//Enable Data Synced
Ref.child("Plan").addListenerForSingleValueEvent(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}//End onCancelled
override fun onDataChange(p0: DataSnapshot){
for (date in p0.children) {
var item = date.getValue(Date::class.java)
if (i == 0) {
i = 1
calender.time = sdf.parse(item!!.Date)
EndDate = calender.time
} else {
i = 0
calender.time = sdf.parse(item!!.Date)
StartDate = calender.time
}//End else
}//End For
}//End onDataChange
})//End addValueEventListener
}//End

//Chick in Today Date In Date Range And Return The Result: Boolean
open fun DateIsChecked(): Boolean{
check_date()
Log.e("Date",today.toString())
Log.e("Date", StartDate.toString())
Log.e("Date", EndDate.toString())
return true
}






android kotlin






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 13:27









FOS AUFOS AU

115




115








  • 1





    They're only going to be assigned if whatever is in your Plan reference actually changes.

    – TheWanderer
    Nov 23 '18 at 13:28














  • 1





    They're only going to be assigned if whatever is in your Plan reference actually changes.

    – TheWanderer
    Nov 23 '18 at 13:28








1




1





They're only going to be assigned if whatever is in your Plan reference actually changes.

– TheWanderer
Nov 23 '18 at 13:28





They're only going to be assigned if whatever is in your Plan reference actually changes.

– TheWanderer
Nov 23 '18 at 13:28












1 Answer
1






active

oldest

votes


















0














in check_date method you just added a listener for changing on 'Plan'. so the onDataChange method is not called and your StartDate and EndDate will not get those value until your plan data changes.






share|improve this answer


























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53447590%2fvariable-initialized-in-kotlin%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    in check_date method you just added a listener for changing on 'Plan'. so the onDataChange method is not called and your StartDate and EndDate will not get those value until your plan data changes.






    share|improve this answer






























      0














      in check_date method you just added a listener for changing on 'Plan'. so the onDataChange method is not called and your StartDate and EndDate will not get those value until your plan data changes.






      share|improve this answer




























        0












        0








        0







        in check_date method you just added a listener for changing on 'Plan'. so the onDataChange method is not called and your StartDate and EndDate will not get those value until your plan data changes.






        share|improve this answer















        in check_date method you just added a listener for changing on 'Plan'. so the onDataChange method is not called and your StartDate and EndDate will not get those value until your plan data changes.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 25 '18 at 14:44









        Jayson Minard

        42.3k19117177




        42.3k19117177










        answered Nov 23 '18 at 14:13









        Reza.AbediniReza.Abedini

        1,1291914




        1,1291914
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53447590%2fvariable-initialized-in-kotlin%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

            Alcedinidae

            Origin of the phrase “under your belt”?