Я пытаюсь написать простой список дел, состоящий из одного титульного экрана (который является основным действием) с кнопкой, которая переключает на фактический список (который является другим действием). Однако при нажатии кнопки «Добавить» в этом другом действии ничего не происходит — функция onClick даже не вызывается. Как мне это сделать?
Я пытался переписать код в соответствии с этим решением, но ничего не изменилось: Android Studio onClick и OnclickListener не работают после изменения в другое действие
Более того, я пытался реализовать код, используя первый упомянутый здесь подход, но безрезультатно:
https://medium.com/@CodyEngel/4-ways-to ... cklistener -on-android-9b956cbd2928
Вот класс MainActivity:
package com.example.kandydatpl;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openChecklist(View view) {
Intent intent = new Intent(this, TaskListActivity.class);
startActivity(intent);
}
}
MainActivitty.xml
а также класс TaskListActivity:
package com.example.kandydatpl;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.io.File;
import java.util.ArrayList;
public class TaskListActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemClickListener {
private EditText itemET;
private Button btn;
private ListView itemsList;
private ArrayList items;
private ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_list);
itemET = findViewById(R.id.item_edit_text);
btn = findViewById(R.id.add_btn);
itemsList = findViewById(R.id.items_list);
items = FileHelper.readData(this);
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);
itemsList.setAdapter(adapter);
btn.setOnClickListener(this);
itemsList.setOnItemClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.add_btn:
String itemEntered = itemET.getText().toString();
adapter.add(itemEntered);
itemET.setText("");
FileHelper.writeData(items, this);
Toast.makeText(this, "Item Added!", Toast.LENGTH_SHORT).show();
break;
}
}
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
items.remove(position);
adapter.notifyDataSetChanged();
FileHelper.writeData(items, this);
Toast.makeText(this, "Delete", Toast.LENGTH_SHORT).show();
}
}
и соответствующий XML:
Подробнее здесь: https://stackoverflow.com/questions/584 ... is-changed
Кнопка не работает при изменении активности ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1729043182
Anonymous
Я пытаюсь написать простой список дел, состоящий из одного титульного экрана (который является основным действием) с кнопкой, которая переключает на фактический список (который является другим действием). Однако при нажатии кнопки «Добавить» в этом другом действии ничего не происходит — функция onClick даже не вызывается. Как мне это сделать?
Я пытался переписать код в соответствии с этим решением, но ничего не изменилось: Android Studio onClick и OnclickListener не работают после изменения в другое действие
Более того, я пытался реализовать код, используя первый упомянутый здесь подход, но безрезультатно:
https://medium.com/@CodyEngel/4-ways-to-implement-onclicklistener -on-android-9b956cbd2928
Вот класс MainActivity:
package com.example.kandydatpl;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openChecklist(View view) {
Intent intent = new Intent(this, TaskListActivity.class);
startActivity(intent);
}
}
MainActivitty.xml
а также класс TaskListActivity:
package com.example.kandydatpl;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.io.File;
import java.util.ArrayList;
public class TaskListActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemClickListener {
private EditText itemET;
private Button btn;
private ListView itemsList;
private ArrayList items;
private ArrayAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_list);
itemET = findViewById(R.id.item_edit_text);
btn = findViewById(R.id.add_btn);
itemsList = findViewById(R.id.items_list);
items = FileHelper.readData(this);
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);
itemsList.setAdapter(adapter);
btn.setOnClickListener(this);
itemsList.setOnItemClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.add_btn:
String itemEntered = itemET.getText().toString();
adapter.add(itemEntered);
itemET.setText("");
FileHelper.writeData(items, this);
Toast.makeText(this, "Item Added!", Toast.LENGTH_SHORT).show();
break;
}
}
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
items.remove(position);
adapter.notifyDataSetChanged();
FileHelper.writeData(items, this);
Toast.makeText(this, "Delete", Toast.LENGTH_SHORT).show();
}
}
и соответствующий XML:
Подробнее здесь: [url]https://stackoverflow.com/questions/58421687/button-not-working-when-activity-is-changed[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия