Я пытаюсь, чтобы сообщение Toast отображалось правильно. В результате я ищу, чтобы появился тост. Я не получаю сообщения об ошибках, просто неправильно отображается тост.
Здравствуйте, я очень новичок в Android Studio, Kotlin, я только что узнал, каким был тост вчера.
I я получаю сообщение с подтверждением, которое приходит из моего php файла.
case 'addheroes':
if(isset($_POST['name']) && isset($_POST['role'])){
$db = new DbOperation();
if($db->createHeroes($_POST['name'], $_POST['role'])){
$response['error'] = false;
$response['message'] = 'Heroes Added Successfully';
}else{
$response['error'] = true;
$response['message'] = 'Could not add Hero';
}
}else{
$response['error'] = true;
$response['message'] = 'Required Parameters are missing';
}
break;
Подтверждение в моем эмуляторе выглядит следующим образом, оно остается фиксированным на экране, но также я получаю всплывающее окно с тостом в течение примерно трех секунд с тем же сообщением после добавления героя .: 
package com.example.herosapiapp
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.EditText
import android.widget.Spinner
import android.widget.Toast
import com.android.volley.AuthFailureError
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley
import kotlinx.android.synthetic.main.activity_main.*
import org.json.JSONException
class MainActivity : AppCompatActivity() {
lateinit var addHeroBtn : Button
lateinit var viewHeroBtn : Button
lateinit var heroNameText : EditText
lateinit var heroSpinner : Spinner
// private val URL_ROOT = "http://192.168.0.110/heroapi/HeroApi/v1/?op="
private val URL_ROOT = "http://10.0.0.4:8888/heroapi/HeroApi/v1/?op="
val URL_ADD_HERO = URL_ROOT + "addheroes"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
addHeroBtn = findViewById(R.id.addHeroes);
viewHeroBtn = findViewById(R.id.viewHeroes);
heroNameText = findViewById(R.id.heroNameText);
heroSpinner = findViewById(R.id.spinnerGenre);
addHeroBtn.setOnClickListener {
addNewHeroes()
}
// uncommented code
viewHeroBtn.setOnClickListener {
// val intent = Intent(application , heroesActivity::class.java);
val intent = Intent(applicationContext , heroesActivity::class.java);
startActivity(intent)
}
}
private fun addNewHeroes() {
//getting the record values
val name = heroNameText.text.toString()
val mspinner = heroSpinner.selectedItem.toString()
val mRequestQueue = Volley.newRequestQueue(this)
// val basePath = "https://api.darksky.net/forecast/ebd6aa8663d7e74fed4daf56735d18f3/53.3498,-6.2603"
//String Request initialized
val mStringRequest = object : StringRequest(Request.Method.POST, URL_ADD_HERO, Response.Listener { response ->
//
try {
Toast.makeText(applicationContext,response.toString(),Toast.LENGTH_LONG).show();
error.text = response.toString()
} catch (e: JSONException) {
e.printStackTrace()
Toast.makeText(applicationContext,e.toString(),Toast.LENGTH_LONG).show();
error.text = e.toString()+"\n"+response.toString()
}
}, Response.ErrorListener { erro ->
Log.i("This is the error", "Error :" + erro.toString())
Toast.makeText(applicationContext, erro.toString(), Toast.LENGTH_SHORT).show()
error.text = erro.toString()
println(erro.toString()+"momom")
}) {
@Throws(AuthFailureError::class)
override fun getParams(): Map<String, String> {
val params = HashMap<String, String>()
params.put("name", name)
params.put("role", mspinner)
return params
}
}
mRequestQueue?.add(mStringRequest)
Я попробовал пару манипуляций с кодом Toast после исследования, но мне еще предстоит найти решение. Также включены уведомления.