Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
#1

Не работают методы виджетов - Программирование Android

10.04.2013, 23:39. Просмотров 1376. Ответов 8
Метки нет (Все метки)

Содержание 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
<?xml version="1.0" encoding="utf-8"?>
 
<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
        android:background="@drawable/background"
        android:id="@+id/main">
    <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/checkBox1"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="42dp"
            android:layout_alignParentTop="true"
            android:layout_marginTop="68dp"
            android:checked="false"/>
    <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/checkBox2"
            android:checked="false"
            android:layout_alignLeft="@+id/checkBox1"
            android:layout_centerVertical="true"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/var1"
            android:textColor="#000000"
            android:id="@+id/textView1"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_alignBaseline="@+id/checkBox1"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/var2"
            android:textColor="#000000"
            android:id="@+id/textView2"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_alignBaseline="@+id/checkBox2"/>
    <EditText
            android:layout_width="44dp"
            android:layout_height="46dp"
            android:id="@+id/editText1"
            android:layout_toRightOf="@+id/textView1" 
            android:layout_alignBaseline="@+id/checkBox1"
            />
    <EditText
            android:layout_width="43dp"
            android:layout_height="44dp"
            android:id="@+id/editText2"
            android:layout_toRightOf="@+id/textView2" 
            android:layout_alignTop="@+id/checkBox2"/>
</RelativeLayout>
Содержание MainActivity:
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
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
 
    CheckBox checkbox1 = (CheckBox) findViewById(R.id.checkBox1);
    CheckBox checkbox2 = (CheckBox) findViewById(R.id.checkBox2);
    if(checkbox1.[COLOR="Red"]isChecked[/COLOR]()){
              checkbox2.setChecked(false);
    }
 
    TextView textview1 = (TextView) findViewById(R.id.textView1);
    TextView textview2 = (TextView) findViewById(R.id.textView2);
 
    String text1 = textview1.[COLOR="red"]getText[/COLOR];
    String text2 = textview1.[COLOR="red"]getText[/COLOR];
}
Почему Idea подчеркивает красным методы (выделил красным), хотя метод setChecked для checkbox2 работает. Такая же ситуация почти со всеми методами элементов View. В чем может быть проблема. Спасибо.

Добавлено через 21 минуту
С getText -ами разобрался.
Не могу найти ошибку в
if(checkbox1.isChecked()){
checkbox2.setChecked(false);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 23:39     Не работают методы виджетов
Посмотрите здесь:

Размеры виджетов - Программирование Android
Всем привет, столкнулся со следующей проблемой. Необходимо сделать так, чтоб отношение размеров виджетов на макете к размерам самого...

Виджет не появляется в списке виджетов - Программирование Android
Разбираю урок 117 проекта startandroid, делаю все как в уроке, но виджет не появляется в списке. Мне кажется, дело в том, что у меня в...

На телефоне виджет не появляется в списке виджетов - Программирование Android
Добрый день! Сделал виджет - устанавливается и работает на планшете Asus Transformer Устанавливаю на телефон Fly IQ444 Quattro -...

Методы компонентов - Программирование Android
Здравствуйте, помогите пожалуйста со следующим Как сделать простенький таймер, запуск которого осуществляется так: Button btn =...

VK методы с ответом - Программирование Android
Здравствуйте, подскажите, пожалуйста, как использовать методы vk api, которые присылают ответы, в библиотеке AndroidVkSdk...

AndEngine. Не находятся методы - Программирование Android
Поставил движок AndEngine. Но многие классы движка не узнают мат. методов (см. скрин) Импорт, например, в Transformation.java (есть на...

Не работают breakpoint - Программирование Android
Проблема достаточно распространена много сообщений на stackoverflow и вообще в инете, но ни один ответ мне не помог. При запуске debug...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.04.2013, 23:55     Не работают методы виджетов #2
переместите скобку с 13 строки в 27 строку.
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
14.04.2013, 17:02  [ТС]     Не работают методы виджетов #3
Чтобы не создавать новую тему еще один вопрос: почему может не запускаться приложение в эмуляторе? (При запуске выдает ошибку)
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.example.iamlate;
 
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.TelephonyManager;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.CheckBox;
import android.widget.Button;
 
public class MainActivity extends Activity {
    CheckBox checkbox1 = (CheckBox) findViewById(R.id.checkBox1);
    CheckBox checkbox2 = (CheckBox) findViewById(R.id.checkBox2);
    TextView textview1 = (TextView) findViewById(R.id.textView1);
    TextView textview2 = (TextView) findViewById(R.id.textView2);
    EditText editText1 = (EditText) findViewById(R.id.editText1);
    EditText editText2 = (EditText) findViewById(R.id.editText2);
    EditText editText3 = (EditText) findViewById(R.id.editText3);
    Button button = (Button) findViewById(R.id.button);
    Button button2 = (Button) findViewById(R.id.button2);
    String number;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button.setOnClickListener(onClickListener);
        button2.setOnClickListener(onClickListener2);
 
    }
 
 
 
    private String TextMassage(){
        String massagetext;
        if (checkbox1.isChecked()) {
            return massagetext = (String) textview1.getText() + editText1.getText();
        } else if (checkbox2.isChecked()) {
            return massagetext = (String) textview2.getText() + editText2.getText();
        }
         return "No chosen checkbox";
    }
 
    private  View.OnClickListener onClickListener2 = new View.OnClickListener() {
 
        @Override
        public void onClick(View view) {
            TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
            number = tm.getLine1Number();
            editText3.setText(number);
        }
    };
 
    private View.OnClickListener onClickListener = new View.OnClickListener() {
 
        @Override
        public void onClick(View view) {
            SmsManager sms = SmsManager.getDefault();
            sms.sendTextMessage(number, null, TextMassage(), null, null);
        }
    };
 
 
 
 
}
AndroidManifest:
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.iamlate"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="15"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE">
                     android:name="android.permission.SEND_SMS">
    </uses-permission>
    <application
            android:label="@string/app_name"
            android:icon="@drawable/ic_launcher">
 
        <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
         </activity>
    <uses-library android:name="android.test.runner" />
    </application>
 
</manifest>
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
<?xml version="1.0" encoding="utf-8"?>
 
<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
        android:background="@drawable/background"
        android:id="@+id/main">
    <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/checkBox1"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="42dp"
            android:layout_alignParentTop="true"
            android:layout_marginTop="68dp"
            android:checked="false"/>
    <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/checkBox2"
            android:checked="false"
            android:layout_alignLeft="@+id/checkBox1"
            android:layout_centerVertical="true"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/var1"
            android:textColor="#000000"
            android:id="@+id/textView1"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_alignBaseline="@+id/checkBox1"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/var2"
            android:textColor="#000000"
            android:id="@+id/textView2"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_alignBaseline="@+id/checkBox2"/>
    <EditText
            android:layout_width="44dp"
            android:layout_height="46dp"
            android:id="@+id/editText1"
            android:layout_toRightOf="@+id/textView1" 
            android:layout_alignBaseline="@+id/checkBox1"
            android:inputType="text"/>
    <EditText
            android:layout_width="43dp"
            android:layout_height="44dp"
            android:id="@+id/editText2"
            android:layout_toRightOf="@+id/textView2" 
            android:layout_alignTop="@+id/checkBox2"
            android:inputType="text"/>
    <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/editText3"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_above="@+id/button"
            android:layout_alignRight="@+id/textView1" 
            android:inputType="phone"/>
    <Button
            android:layout_width="117dp"
            android:layout_height="wrap_content"
            android:text="@string/button"
            android:id="@+id/button"
            android:onClick="sendMassage"
            android:layout_toRightOf="@+id/checkBox1" 
            android:layout_alignParentBottom="true"
            android:layout_alignRight="@+id/textView2"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/addnumber"
            android:id="@+id/button2"
            android:layout_toRightOf="@+id/textView1" 
            android:layout_above="@+id/button"
            android:layout_alignRight="@+id/textView2"/>
</RelativeLayout>
Большое спасибо за помощь.
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
14.04.2013, 19:44     Не работают методы виджетов #4
xajker, ты лучше саму ошибку покажи т.е. лог.
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
14.04.2013, 21:39  [ТС]     Не работают методы виджетов #5
Сам как-то не догадался сразу, вот лог:
04-14 17:34:01.720: INFO/ActivityManager(107): Start proc com.example.iamlate for activity com.example.iamlate/.MainActivity: pid=564 uid=10041 gids={}
04-14 17:34:01.970: DEBUG/(107): HostConnection::get() New Host Connection established 0x201d78, tid 148
04-14 17:34:02.152: WARN/NetworkManagementSocketTagger(107): setKernelCountSet(10041, 1) failed with errno -2
04-14 17:34:02.450: DEBUG/OpenGLRenderer(220): Flushing caches (mode 1)
04-14 17:34:02.611: DEBUG/AndroidRuntime(564): Shutting down VM
04-14 17:34:02.630: WARN/dalvikvm(564): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
04-14 17:34:02.660: INFO/Process(107): Sending signal. PID: 564 SIG: 3
04-14 17:34:02.660: INFO/dalvikvm(564): threadid=3: reacting to signal 3
04-14 17:34:02.761: INFO/dalvikvm(564): Wrote stack traces to '/data/anr/traces.txt'
04-14 17:34:02.841: ERROR/AndroidRuntime(564): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.iamlate/com.example.iamlate.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
at android.app.ActivityThread.access$600(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1794)
at com.example.iamlate.MainActivity.<init>(MainActivity.java:14)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
... 11 more
04-14 17:34:02.940: WARN/ActivityManager(107): Force finishing activity com.example.iamlate/.MainActivity
04-14 17:34:03.190: INFO/Process(107): Sending signal. PID: 564 SIG: 3
04-14 17:34:03.190: INFO/dalvikvm(564): threadid=3: reacting to signal 3
04-14 17:34:03.220: INFO/dalvikvm(564): Wrote stack traces to '/data/anr/traces.txt'
04-14 17:34:03.391: DEBUG/(107): HostConnection::get() New Host Connection established 0x2bfb78, tid 122
04-14 17:34:03.590: WARN/ActivityManager(107): Activity pause timeout for ActivityRecord{41566248 com.example.iamlate/.MainActivity}
04-14 17:34:03.600: INFO/Process(107): Sending signal. PID: 564 SIG: 3
04-14 17:34:03.610: INFO/dalvikvm(564): threadid=3: reacting to signal 3
04-14 17:34:03.630: INFO/dalvikvm(564): Wrote stack traces to '/data/anr/traces.txt'
04-14 17:34:03.820: DEBUG/OpenGLRenderer(220): Flushing caches (mode 0)
04-14 17:34:04.419: WARN/EGL_emulation(220): eglSurfaceAttrib not implemented
04-14 17:34:04.849: WARN/NetworkManagementSocketTagger(107): setKernelCountSet(10041, 0) failed with errno -2
04-14 17:34:05.171: INFO/Process(564): Sending signal. PID: 564 SIG: 9
04-14 17:34:05.199: WARN/InputManagerService(107): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41556b08
04-14 17:34:05.499: INFO/ActivityManager(107): Process com.example.iamlate (pid 564) has died.
04-14 17:34:14.916: WARN/ActivityManager(107): Activity destroy timeout for ActivityRecord{41566248 com.example.iamlate/.MainActivity}
04-14 17:34:30.570: WARN/ThrottleService(107): unable to find stats for iface rmnet0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
14.04.2013, 22:00     Не работают методы виджетов #6
Цитата Сообщение от xajker Посмотреть сообщение
findViewById(R.id.checkBox1);
это должно быть в onCreate
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
14.04.2013, 22:57  [ТС]     Не работают методы виджетов #7
Цитата Сообщение от V0v1k Посмотреть сообщение
это должно быть в onCreate
Помогло. Спасибо большое, буду теперь вкурсе.
dubok79
15.04.2013, 22:40
  #8

Не по теме:

сейчас поголовно программируют путем использования примеров с инета? Даже не читая основ?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 00:17     Не работают методы виджетов
Еще ссылки по теме:

Вызывать последовательно методы или потоки - Программирование Android
Что то устал бороться с асинхронностью Явы. Например строки 6-7 выполняются после цикла 15-17, а активация кнопки и фона происходят сразу...

Не работают insert на устройстве - Программирование Android
Возникла проблема со вставкой в таблицу. На эмуляторе insert работает, а на устройстве нет. В чем может быть проблема.

Потоки не работают параллельно - Программирование Android
Написал я такой кусок кода (все это внутри класса MainActivity): class CalcFiveSecClass extends AsyncTask&lt;Void, Void, String&gt; { ...

Точные методы задания позиции для объектов? - Программирование Android
Существуют ли более точные методы задания позиции для объектов? Тот же &quot;Margin&quot; принимает только &quot;int&quot;, а точность нужна как в...

Глобальные переменные, методы - где лучше заводить? - Программирование Android
Добрый день! Только начинаю осваивать Android разработку. Бывает так, что для удобства требуется завести глобальные переменные,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xajker
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 12
16.04.2013, 00:17  [ТС]     Не работают методы виджетов #9
Цитата Сообщение от dubok79 Посмотреть сообщение

Не по теме:

сейчас поголовно программируют путем использования примеров с инета? Даже не читая основ?

Примеров с инета не использовал, они мне непонятны. Начинал с Java core, потом несколько страниц developers.android.com и если что stackoverflow. Это первой мое приложение, мой, можно сказать hello world. Не судите строго. Все когда-то начинали.
Yandex
Объявления
16.04.2013, 00:17     Не работают методы виджетов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru