Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Java Мобильная разработка (Android)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2018, 21:17   #1
Husoid
Новичок
Джуниор
 
Регистрация: 27.12.2018
Сообщений: 1
По умолчанию Запуск Activity по нажатию на ListView

Сразу хочу сказать что еще новичок.
Загружаю данные по API запросу и вывожу их в ListView в три строчки используя адаптер. Есть необходимость вывести детальную информацию по нажатию на строку ListView.

Первую строчку сделал
Код:
android:clickable="true"
            android:onClick="Detal"
описание функции Detal

Код:
 fun Detal(view: View) {
        val DetalIntent = Intent(this, DetalInfo::class.java)
        startActivity(DetalIntent)
    }
по нажатию на первую строчку activity запускается и сразуже закрывается с предыдущей activity.

при вызове fun Detal с любой другой activity все хорошо запускается, проблема с запуском толькос конкретной activity

Прошу указать в чем моя ошибка

текст tis_zakaschik.kt

Код:
package com.example.admin

import android.content.Intent
import android.content.SharedPreferences
import android.os.AsyncTask
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import kotlinx.android.synthetic.main.activity_tis_zakazchik.*
import org.json.JSONObject
import java.net.HttpURLConnection
import java.net.URL

@Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS")
class TIS_zakazchik : AppCompatActivity() {

    private lateinit var pref: SharedPreferences
    private val APP_PREFERENCES = "mysettings"
    private val APP_PREFERENCES_TEL = "tel"
    var tel = ""

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_tis_zakazchik)

        val url = "https://tis.tis-online.com/m11/api/v1?token=D4312D895799&command=getRequests&fromDate=01.12.2018&00:00&toDate=25.12.2018&00:00"
        AsyncTaskHandleJson().execute(url)

        //чтение файла с настройками
        pref = getSharedPreferences(APP_PREFERENCES, MODE_PRIVATE)
        if (pref.contains(APP_PREFERENCES_TEL)) {
            // Получаем число из настроек
            tel = pref.getString(APP_PREFERENCES_TEL, "1");
        }
    }

    inner class AsyncTaskHandleJson : AsyncTask<String, String, String>() {
        override fun doInBackground(vararg url: String?): String {
            var text: String
            val connection = URL(url[0]).openConnection() as HttpURLConnection
            try {
                connection.connect()
                text = connection.inputStream.use { it.reader().use { reader -> reader.readText() } }
                }
            finally {connection.disconnect()}
            return text
        }
        override fun onPostExecute(result: String?) {
            super.onPostExecute(result)
            handleJson(result)
        }
    }
    //функция чтения JSON выгрузки
    private fun handleJson(jsonString: String?) {

        val JA = JSONObject(jsonString)
        val jsonArray = JA.getJSONArray("list")
        val list = ArrayList<Zakazchik>()

        //вывод ФИО по номеру телефона из выгрузки
        var x = 0
        while (x < jsonArray.length()) {
            val jsonObject = jsonArray.getJSONObject(x)
            if (tel == jsonObject.getString("phonePerson")) {
                title = jsonObject.getString("contactPerson")
                x = jsonArray.length()
            }
            x++
        }

        //запись выгрузки в ЛИСТ для телефона указаннго при регистрации
        x = 0
        var y = 0
        while (x < jsonArray.length()) {

            val jsonObject = jsonArray.getJSONObject(x)
            if (tel == jsonObject.getString("phonePerson")) {
                list.add(
                    Zakazchik(
                        jsonObject.getInt("number"),
                        jsonObject.getString("status"),
                        jsonObject.getString("contactPerson"),
                        jsonObject.getString("phonePerson"),
                        jsonObject.getString("dateCreate")
                    )
                )
                y++
            }
            x++
        }

        //вывод сообщения если по данному номеру нет заявок в выгрузке
        if (y == 0) {
            textViewTel.text = "У вас нет заявок"
        }
        val adapter = ListAdapter(this, list)
        zakazchik_list.adapter = adapter
    }
    fun Detal(view: View) {
        val DetalIntent = Intent(this, DetalInfo::class.java)
        startActivity(DetalIntent)
    }

}
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 27.12.2018 в 22:29.
Husoid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переход на другую activity c пункта listview vital_orsha Java Мобильная разработка (Android) 0 18.04.2017 22:29
Событие по нажатию на строку в ListView kabardinec Компоненты Delphi 10 25.03.2015 14:56
запуск определённого кода по нажатию определённой клавиши nikolas0 Общие вопросы Delphi 9 25.09.2014 12:49
Delphi Навигация по Treeview и запуск видео файла по нажатию на элемент Kelthagor Помощь студентам 0 02.06.2012 02:38
запуск программ по нажатию на картику (проблема со значком) ScorpioN_T Помощь студентам 8 01.11.2008 12:51