Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Android studio - работа с интентами / 25 сообщений из 78, страница 1 из 4
28.11.2013, 00:46
    #38480932
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Изучаю статью.
http://vlad8.com/tech/android-intents-tutorial/#comment-4951

Создал приложение, работающее с неявными интентами, компилируется без ошибок.
Запускаю в эмуляторе.
Но при нажатии на любую кнопку ошибка и приложение закрывается.
В логах:
Logcat11-27 15:37:08.015 833-833/com.mkt.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not find a method callIntent(View) in the activity class com.mkt.app.MainActivity for onClick handler on view class android.widget.Button with id 'Button06'

Что я сделал не так?



Меня ещё во что волнует


и вот


Может я не тот SDK установил и использую или не тот эмулятор?
...
Рейтинг: 0 / 0
28.11.2013, 00:59
    #38480942
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Код идентичен кроме этой строки
Код: java
1.
String result = data.toURI();



сделал так
Код: java
1.
String result = data.toUri(Intent.URI_INTENT_SCHEME);



т.к. toURI устарел

http://developer.android.com/intl/ru/reference/android/content/Intent.html#toUri(int) public String toURI ()
Added in API level 1

This method was deprecated in API level 4.
Use toUri(int) instead.

Call toUri(int) with 0 flags.
...
Рейтинг: 0 / 0
28.11.2013, 01:35
    #38480958
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
так он же тебе говорит , что не может найти такой id как Button06
...
Рейтинг: 0 / 0
28.11.2013, 01:56
    #38480966
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
В том-то и дело, что кнопка с таким ID есть. Проблема на самом деле с любой кнопкой.

fragment_main.xml

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity$PlaceholderFragment">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <Button
            android:id="@+id/Button01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Call browser"
            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Call Someone"

            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button03"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Dial"

            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button04"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Show Map"

            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button05"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Search on Map"

            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button06"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Take picture"
            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button07"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Show contacts"

            android:onClick="callIntent"/>

        <Button
            android:id="@+id/Button08"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Edit first contact"

            android:onClick="callIntent"/>

    </LinearLayout>

</RelativeLayout>



Может файлы нужно между собой как-то "связать", чтобы они увидели друг друга?
...
Рейтинг: 0 / 0
28.11.2013, 02:01
    #38480971
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
так ты код покажи где активити или фрагмента, где там все это юзаешь
...
Рейтинг: 0 / 0
28.11.2013, 11:27
    #38481351
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Позже выложу.

У меня такой вопрос. А где можно нормально почитать про эти фрагменты на русском? С пояснениями, с примерами. Мне кажется, что я не до конца понял что это такое и с чем это едят?
...
Рейтинг: 0 / 0
28.11.2013, 11:43
    #38481396
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
X11, дак тот же стартандроид. Или купить себе книжечку по андроиду 4-ому.

Я себе такую взял: http://www.williamspublishing.com/Books/978-5-8459-1801-7.html читаю маленько холодными зимними вечерами сидя укутанным в плед в кресле у камина, попивая красное сухое вино.
...
Рейтинг: 0 / 0
28.11.2013, 11:59
    #38481427
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
там написано: для профессионалов
неужели там будет написано доходчиво для новичков?
...
Рейтинг: 0 / 0
28.11.2013, 12:00
    #38481431
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
LogcatCould not find a method callIntent(View)
X11
Код: java
1.
android:onClick="callIntent"/>



Регистр совпадает с исходниками?
...
Рейтинг: 0 / 0
28.11.2013, 12:01
    #38481433
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
X11неужели там будет написано доходчиво для новичков?
Я в андроиде новичок и как по мне, дак весьма доходчиво. И главное - это книга. Настоящая. Свет отключили, зажег свечу и вновь погрузился в чтение. :)
...
Рейтинг: 0 / 0
28.11.2013, 12:15
    #38481469
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
wadmanLogcatCould not find a method callIntent(View)
X11
Код: java
1.
android:onClick="callIntent"/>




Регистр совпадает с исходниками?

Щас не могу сказать, т.к. нет доступа к исходникам.
Но когда я выполняю Ctrl+Click вот на этой строке, то меня редактор перебрасывает на эту строку:
Код: java
1.
public void callIntent(View view) {
...
Рейтинг: 0 / 0
28.11.2013, 12:16
    #38481474
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
wadmanX11неужели там будет написано доходчиво для новичков?
Я в андроиде новичок и как по мне, дак весьма доходчиво. И главное - это книга. Настоящая. Свет отключили, зажег свечу и вновь погрузился в чтение. :)

ок, схожу щас на книжный рынок
...
Рейтинг: 0 / 0
28.11.2013, 13:36
    #38481689
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
блин, ну и дорого же... давно я книги не покупал
...
Рейтинг: 0 / 0
28.11.2013, 13:54
    #38481717
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
что от я ночью тупанул.

он не id и в правду найти не может, а метод.

посмотри еще в торону листенеров
...
Рейтинг: 0 / 0
28.11.2013, 14:11
    #38481761
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Я в других примерах без листенеров делал, работало без проблем.
Опять же, листенеры - это, вроде бы, устаревший подход или устаревающий.
...
Рейтинг: 0 / 0
28.11.2013, 16:33
    #38482092
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
X11Я в других примерах без листенеров делал, работало без проблем.
Опять же, листенеры - это, вроде бы, устаревший подход или устаревающий.

с чего это вдруг.
...
Рейтинг: 0 / 0
28.11.2013, 16:43
    #38482118
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
я уже на помню в каком уроке это читал, там был урок про события и показывали несколько способов onclick
...
Рейтинг: 0 / 0
28.11.2013, 16:51
    #38482140
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Возможно я не так понял автора статьи

Здесь http://developer.alexanderklimov.ru/android/android3.php описывают 2 способы обработки нажатия.

авторНа самом деле, способ обработки щелчка кнопки, который я вам показал, является относительно новым для разработчиков. Google рекомендует использовать данный способ как удобный, требующий меньше кода и понятный для чтения. Но тем не менее вам придётся сталкиваться со старым способом, который берет свои корни от Java. Поэтому необходимо изучить и второй способ, чтобы понимать другие примеры.

>>Но тем не менее вам придётся сталкиваться со старым способом, который берет свои корни от Java

я так понял, что это предложение касается именно метода с использованием слушателя?
...
Рейтинг: 0 / 0
28.11.2013, 17:13
    #38482192
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Второй способ, придется использовать, например, когда ты контролы будешь программно создавать.

так как, даже наличие xml лейоута не обязательно, тебе никто не запрещает его создать программно.

ну а вообще тут дело привычки.
я привык сам "слушатели" описывать.
...
Рейтинг: 0 / 0
28.11.2013, 17:45
    #38482256
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Джибся привык сам "слушатели" описывать.

А через год гугл объявит слукшатели старевшими...
Сейчас андроид развивается довольно стремительно. Некоторые не успевают изучать одно, как оно уже deprecated
...
Рейтинг: 0 / 0
28.11.2013, 17:58
    #38482274
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
X11Джибся привык сам "слушатели" описывать.

А через год гугл объявит слукшатели старевшими...
Сейчас андроид развивается довольно стремительно. Некоторые не успевают изучать одно, как оно уже deprecated

ну, во первых это не сделают.
мне даже кажется, что их слушатель, сделан так же только через парсинг хмл сами добавляют слушатели.
ну и как быть с элементами которые ты создаешь в рантайме ?
и deprecated функции, можно использовать, физически их никто не выкидывает. (возможно когда то выкинут)
а некоторые deprecated вещи, как константы например, не отличаются значениями от новых ничем, кроме названия.
...
Рейтинг: 0 / 0
28.11.2013, 22:28
    #38482597
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
LogcatCould not find a method callIntent(View) in the activity class com.mkt.app.MainActivity

А у меня в mainActivity.java как раз и нету этого самого метода callIntent(View)

Он у меня в файле CallIntents.java


Можно сделать, что быэто метод остался в этом же файле, но при этом "указать" приложению, где именно этот метод живёт? Если да, то как?
...
Рейтинг: 0 / 0
28.11.2013, 22:30
    #38482599
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
Интересно получается.
Компилятор и редактор кода никак не реагируют. Мало того, редактор кода, даже даёт выдать этот метод. И даже в редакторе свойств можно выбрать этот метод.

Но, блин, при выполнении приложения.... внезапно.... метод теряется?!
...
Рейтинг: 0 / 0
28.11.2013, 23:17
    #38482654
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
вот код MainActivity.java

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
package com.mkt.app;


import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
        }
    }

}

...
Рейтинг: 0 / 0
29.11.2013, 00:11
    #38482698
Gwa
Gwa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Android studio - работа с интентами
X11,
У Вас
public class MainActivity extends ActionBarActivity
а обработчик
находится в классе CallIntents
Как соотносятся ActionBarActivity и CallIntents ??

и потом в MainActivity
setContentView(R.layout.activity_main);

а кнопка лежит в fragment_main

это чё за ерунда такая ?
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Android studio - работа с интентами / 25 сообщений из 78, страница 1 из 4
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]