В моем ListViewFragment есть кнопка, которая инициирует сканирование. Я сканирую серийный номер и получаю метод String в My MainActivities onActivityResult (в моем MainActivity есть еще одно сканирование. Я получаю строку и хочу отправить ее обратно в свой ListViewFragment, чтобы установить ее в EditText. Но я получаю исключение NullPointerException, потому что мой ListViewFragment хочет получить SerialFromScanПустая строка.
Как я могу обеспечить, чтобы мой фрагмент вызывал пакет ПОСЛЕ сканирования серийного номера?
Фрагмент:
inputSerial = (EditText) view.findViewById(R.id.editText_serial);
ImageButton ib = (ImageButton) view.findViewById(R.id.button_scan_serial);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR,EAN_13,EAN_8,UPC_A");
getActivity().startActivityForResult(intent, 11);
Bundle b = getArguments();
String serialFromScan = b.getString("serialFromScan");
Log.d("Seriennummerangekommen?", serialFromScan);
}
});
MainActivity:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.scanbutton);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent,10);
}
});
[...]
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
String scanContent = intent.getStringExtra("SCAN_RESULT");
String scanFormat = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.d("INHALT", scanContent);
Log.d("FORMAT", scanFormat);
switch (requestCode){
case (10):{
String[] Split = scanContent.split("\\s");
String product = Split[0];
String label = Split[1];
String serial = Split[2];
String mac = Split[3];
String daaid = Split[4];
String bill = Split[5];
mydb.insertData(product, label, serial, mac, daaid, bill);
break;
}
case (11):{
scannedResult = scanContent;
serialScanned = true;
Bundle b = new Bundle();
b.putString("serialFromScan", scanContent);
ListViewFragment LvF = new ListViewFragment();
LvF.setArguments(b);
break;
}
}
} else if (resultCode == RESULT_CANCELED) {
Log.d("TEST", "result_canceled");
}
}
Подробнее здесь: https://stackoverflow.com/questions/335 ... s-edittext
Отправить строку из активности во фрагменты EditText ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1760426744
Anonymous
В моем ListViewFragment есть кнопка, которая инициирует сканирование. Я сканирую серийный номер и получаю метод String в My MainActivities onActivityResult (в моем MainActivity есть еще одно сканирование. Я получаю строку и хочу отправить ее обратно в свой ListViewFragment, чтобы установить ее в EditText. Но я получаю исключение NullPointerException, потому что мой ListViewFragment хочет получить SerialFromScanПустая строка.
Как я могу обеспечить, чтобы мой фрагмент вызывал пакет ПОСЛЕ сканирования серийного номера?
Фрагмент:
inputSerial = (EditText) view.findViewById(R.id.editText_serial);
ImageButton ib = (ImageButton) view.findViewById(R.id.button_scan_serial);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR,EAN_13,EAN_8,UPC_A");
getActivity().startActivityForResult(intent, 11);
Bundle b = getArguments();
String serialFromScan = b.getString("serialFromScan");
Log.d("Seriennummerangekommen?", serialFromScan);
}
});
MainActivity:
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.scanbutton);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent,10);
}
});
[...]
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
String scanContent = intent.getStringExtra("SCAN_RESULT");
String scanFormat = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.d("INHALT", scanContent);
Log.d("FORMAT", scanFormat);
switch (requestCode){
case (10):{
String[] Split = scanContent.split("\\s");
String product = Split[0];
String label = Split[1];
String serial = Split[2];
String mac = Split[3];
String daaid = Split[4];
String bill = Split[5];
mydb.insertData(product, label, serial, mac, daaid, bill);
break;
}
case (11):{
scannedResult = scanContent;
serialScanned = true;
Bundle b = new Bundle();
b.putString("serialFromScan", scanContent);
ListViewFragment LvF = new ListViewFragment();
LvF.setArguments(b);
break;
}
}
} else if (resultCode == RESULT_CANCELED) {
Log.d("TEST", "result_canceled");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/33564086/send-string-from-activity-to-fragments-edittext[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия