Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
ARCore AnchorNode.setOnTapListener

I am trying to add onTapListener to a node, but a code inside of it is never being called. Can someone spot a mistake I am doing?

private fun addNodeToScene(fragment: ArFragment, createAnchor: Anchor, renderable: ModelRenderable) {
    val anchorNode = AnchorNode(createAnchor)
    anchorNode.setOnTapListener{_,_ ->
        buttonasd.text = "asdasd" // this line is never called
    }

    val transformableNode = TransformableNode(fragment.transformationSystem)
    transformableNode.renderable = renderable
    transformableNode.setParent(anchorNode)
    fragment.arSceneView.scene.addChild(anchorNode)
    transformableNode.select()
}
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

to make it works you shold do following :

    private fun addNodeToScene(fragment: ArFragment, createAnchor: Anchor, renderable: ModelRenderable) {
    val anchorNode = AnchorNode(createAnchor)

    val transformableNode = TransformableNode(fragment.transformationSystem).apply {
        setOnTapListener { _, _ ->
            //TODO your action
            }

        }
        transformableNode.localPosition = Vector3(0f,0.3f,0f)
        transformableNode.renderable = renderable
        transformableNode.setParent(anchorNode)
        fragment.arSceneView.scene.addChild(anchorNode)
        transformableNode.select()
    }
over 4 years ago · Santiago Trujillo Report

0

Try a slightly different approach, like this:

private var grid = Array(ROW_NUM) { 
    arrayOfNulls<TranslatableNode>(COL_NUM) 
}

val anchorNode = AnchorNode(hitResult.createAnchor())
anchorNode.setParent(arFragment.arSceneView.scene)

grid.matrixIndices { col, row ->
    val renderableModel = droidRenderable?.makeCopy() ?: return@matrixIndices
    TranslatableNode().apply {
        setParent(anchorNode)
        renderable = renderableModel
        addOffset(x = row * spacing, z = col * spacing)
        grid[col][row] = this
        this.setOnTapListener { _, _ ->
            // button.text = "asdasd"
        }
    }
}

Hope this helps.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!