Страница 21 из 21
Re: Урок 9. Обработчики событий на примере Button.
Добавлено: 15 июн 2017, 18:11
armory
привет всем
Код: Выделить всё
package ru.startandroid.p0091onclickbuttons;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tvOut;
Button btnOk;
Button btnCancel;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// найдем View-элементы
tvOut = (TextView) findViewById(R.id.tvOut);
btnOk = (Button) findViewById(R.id.btnOk);
btnCancel = (Button) findViewById(R.id.btnCancel);
}
}
Подскажите, пожалуйста, почему у меня подсвечивает красным все буквы R?
Android Studio 2.3.3
Варианты решения ситуации не очень нравятся:
- 1.png (11.5 КБ) 6882 просмотра
P.S. заново создал модуль и аккуратно скопипастил данные из урока - всё работает, и больше не ругается на R.
Вопрос более не актуален
Re: Урок 9. Обработчики событий на примере Button.
Добавлено: 22 окт 2017, 22:57
bios90
Подскажите пожалуйста. Создавал кнопки третьим способ из видео(добавлял onClick в XML файл и все работало,приложение запускал через эмулятор кнопки нажимались,текст менялся). Захотел переделать на первый способ. В итоге все время выдает ошибку в эмуляторе Unfortinatly MyProgramLand has stopped. В файле Java и в XML файлах ошибок не показывает.
Вот лог ошибки
Код: Выделить всё
10-22 19:45:26.824 3410-3410/com.programm.first.my.myprogrammland E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.programm.first.my.myprogrammland, PID: 3410
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.programm.first.my.myprogrammland/com.programm.first.my.myprogrammland.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.programm.first.my.myprogrammland.MainActivity.onCreate(MainActivity.java:32)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
Re: Урок 9. Обработчики событий на примере Button.
Добавлено: 26 июл 2018, 11:44
NikiArt
Добрый день.
Подскажите пожалуйста, как обработать такое сообщение: 'android.widget.button' is deprecated?
- 2018-07-26_11-29-20.png (23.38 КБ) 5146 просмотров
Также, на LinearLayout появляется подсказка-действие Override Resource In Other Configuration
Я так понимаю, что это все из-за implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' ?
Re: Урок 9. Обработчики событий на примере Button.
Добавлено: 03 авг 2020, 12:52
Vsiniak
Код: Выделить всё
// создаем обработчик нажатия
OnClickListener oclBtnOk = new OnClickListener() {
@Override
public void onClick(View v) {
// Меняем текст в TextView (tvOut)
tvOut.setText("Нажата кнопка ОК");
}
};
// присвоим обработчик кнопке OK (btnOk)
btnOk.setOnClickListener(oclBtnOk);
Этот код можно заменить на более компактный. Итог
Код: Выделить всё
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
tvOut.setText("Нажата кнопка ОК");
}
});
Re: Урок 9. Обработчики событий на примере Button.
Добавлено: 23 окт 2021, 23:34
misterx1970
Привет всем!
Столкнулся с проблемой нерабочего кода примера. Возможно проблема в том что мы работаем не с Java а с Kotlin? Поправьте если не прав, я новичок. Порывшись в интернете нашел решение. Может кому поможет разобраться. Работаю в Android Studio 2020.3.1
Вот рабочий вариант:
Код: Выделить всё
package ru.startandroid.p0091onclickbuttons
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
class MainActivity : AppCompatActivity() {
private lateinit var tvOut: TextView
private lateinit var btnOk: Button
private lateinit var btnCancel: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tvOut = findViewById(R.id.tvOut)
btnOk = findViewById(R.id.btnOk)
btnCancel = findViewById(R.id.btnCancel)
btnOk.setOnClickListener { tvOut.setText("Нажата кнопка Ок") }
btnCancel.setOnClickListener { tvOut.setText("Нажата кнопка Cancel") }
}
}
Помог мне следующий ресурс:
http://developer.alexanderklimov.ru/and ... okitty.php