У меня есть два действия: одно - MainActivity, а другое - Main2Activity.В Main2Activity я беру ввод от пользователя в TextView и сохраняю его в ArrayList, теперь я хочу отправить этот ArrayList в MainActivity, где я буду отображать его для пользователя.Я использовал намерение.Но мое приложение падает.Ниже приведены мои два вида деятельности: Mainactivity
package com.example.to_doapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.io.Serializable;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
public void onclick (View view )
{
Intent intent = new Intent(getApplicationContext(),
Main2Activity.class );
startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
Intent intent = getIntent();
//Toast.makeText (this,intent.getStringExtra("task"), Toast.LENGTH_SHORT ).show() ;
Bundle args = intent.getBundleExtra("BUNDLE");
ArrayList< String> object = (ArrayList<String>) args.getSerializable("ARRAYLIST");
LinearLayout lView = new LinearLayout(this);
TextView myText= new TextView(this);
lView.addView(myText);
for (int i=0; i<object.size();i++){
myText.append(object.get(i));
myText.append("\n");
}
setContentView(lView);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.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();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true; }
return super.onOptionsItemSelected(item);
}
}
Main2Activity - это пакет com.example.to_doapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import java.io.Serializable;
import java.util.ArrayList;
public class Main2Activity extends AppCompatActivity {
ArrayList< String> arr = new ArrayList < String > ();
public void BackMain ( View view )
{
Intent intent = new Intent( getApplicationContext()
,MainActivity.class ) ;
Bundle args = new Bundle();
EditText editText = ( EditText) findViewById( R.id.editText3) ;
String s = editText.getText().toString();
arr.add ( s ) ;
args.putSerializable("ARRAYLIST",(Serializable)arr);
intent.putExtra("bundle",args);
startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action",
Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
}
My Logcat показывает что-то вроде этого
03-21 07: 55: 00.407 763-826 /?E / ConnectivityService: Удалено исключение RemoteException при попытке отправить сообщение обратного вызова для NetworkRequest [id = 81, legacyType = -1, [Capabilities: INTERNET & NOT_RESTRICTED & TRUSTED]] 03-21 07: 55: 58.292 29529-29529 /?E / MPlugin: Неподдерживаемый класс: com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 01.380 29645-29672 /?E / MPlugin: Неподдерживаемый класс: com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 01.577 29624-29624 / com.example.to_doapp E / AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.to_doapp, PID: 29624 java.lang.RuntimeException: Невозможно запустить действие. ComponentInfo {com.example.to_doapp / com.example.to_doapp.MainActivity}: java.lang.NullPointerException: попытка вызвать виртуальный метод 'java.io.Serializable android.os.Bundle.getSerializable (java.lang.String) 'для ссылки на пустой объект в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2534) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2614) в android.app.ActivityThread.access $ 800 (ActivityThread.java:178) на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1470) на android.os.Handler.dispatchMessage (Handler.java:111) на android.os.Looper.loop (Looper.java:194) в android.app.ActivityThread.main (ActivityThread.java:5643) в java.lang.reflect.Method.invoke (NativeMethod) в java.lang.reflect.Method.invoke (Method.java:372) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:960) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755) Причина: java.lang.NullPointerException: попытка вызвать виртуальный метод 'java.io.Serializable android.os.Bundle.getSerializable (java.lang.String)' для ссылки на нулевой объект вcom.example.to_doapp.MainActivity.onCreate (MainActivity.java:51) на android.app.Activity.performCreate (Activity.java:6100) на android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1112) на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2481) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2614) в android.app.ActivityThread.access $ 800 (ActivityThread.java:178) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1470) на android.os.Handler.dispatchMessage (Handler.java:111) на android.os.Looper.loop (Looper.java:194) на android.app.ActtivationThread.main (ActivityThread.java:5643) в java.lang.reflect.Method.invoke (нативный метод) в java.lang.reflect.Method.invoke (Method.java:372) в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:960) на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755) 03-21 07: 56: 01.787 29645-29670 /?E / WifiManager: mWifiServiceMessenger == пусто 03-21 07: 56: 03.275 29764-29764 /?E / MPlugin: Неподдерживаемый класс: com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 03.390 29645-29671 /?E / NativeCrypto: ssl = 0xb47ac800 cert_verify_callback x509_store_ctx = 0x9fa343e0 arg = 0x0 03-21 07: 56: 03.390 29645-29671 /?E / NativeCrypto: ssl = 0xb47ac800 cert_verify_callback, вызывающий verifyCertificateChain authMethod = ECDHE_ECDSA 03-21 07: 56: 03.536 29645-29672 /? E / NativeCrypto: ssl = 0xaf83da00 cert_verify_callback
x509_store_ctx = 0x9f930460 arg = 0x0 03-21 07: 56: 03.536 29645-29672 /?
E / NativeCrypto: ssl = 0xaf83da00 cert_verify_callback вызов
verifyCertificateChain authMethod = ECDHE_ECDSA 03-21 07: 56: 03.584
29787-29787 /? E / WifiManager: mWifiServiceMessenger == ноль 03-21
07: 56: 04.382 29787-29787 /? E / MPlugin: неподдерживаемый класс:
com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 04.743
29838-29838 /? E / MPlugin: неподдерживаемый класс:
com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 11.598
29645-29681 /? E / Finsky: [4373] fng.a (20): Невозможно построить селектор:
/storage/sdcard0/Download/marketenvs.csv: открыть не удалось: ENOENT (нет такого
файл или каталог) 03-21 07: 56: 11.772 29645-29724 /? E / SQLiteLog: (283)
восстановил 63 кадра из файла WAL
/data/data/com.android.vending/databases/phenotype.db-wal 03-21
07: 56: 55.470 763-763 /? E / WifiTrafficPoller: ENABLE_TRAFFIC_STATS_POLL
ложный токен 226 03-21 07: 56: 55.535 763-823 /? E / WifiStateMachine:
ScanModeState (когда = -58мс что = 131167! CMD_SCREEN_STATE_CHANGED {
когда = -58мс что = 131167
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,536 763-823 /? E / WifiStateMachine: DriverStartedState
(когда = -58мс что = 131167! CMD_SCREEN_STATE_CHANGED {когда = -58мс
what = 131167 target = com.android.internal.util.StateMachine $ SmHandler}
0 0 03-21 07: 56: 55.536 763-823 /? E / WifiStateMachine:
SupplicantStartedState (когда = -59мс
что = 131167! CMD_SCREEN_STATE_CHANGED {когда = -59мс что = 131167
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,537 763-823 /? E / WifiStateMachine: DefaultState (когда = -60 мс
что = 131167! CMD_SCREEN_STATE_CHANGED {когда = -60мс что = 131167
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,547 763-823 /? E / WifiStateMachine: cancelDelayedScan -> 228
03-21 07: 56: 55,547 763-823 /? E / WifiStateMachine:
handleScreenStateChanged Выход: false 03-21 07: 56: 55.548 763-823 /?
E / WifiStateMachine: ScanModeState (когда = -4 мс
что = 131154CMD_ENABLE_RSSI_POLL {когда = -4мс что = 131154
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,550 763-823 /? E / WifiStateMachine: DriverStartedState
(когда = -6мс что = 131154CMD_ENABLE_RSSI_POLL {когда = -6мс что = 131154
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,550 763-823 /? E / WifiStateMachine: SupplicantStartedState
(когда = -6мс что = 131154CMD_ENABLE_RSSI_POLL {когда = -6мс что = 131154
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,551 763-823 /? E / WifiStateMachine: DefaultState (когда = -6ms
что = 131154CMD_ENABLE_RSSI_POLL {когда = -7мс что = 131154
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,551 763-823 /? E / WifiStateMachine: ScanModeState (когда = -6 мс
что = 131158 arg1 = 1CMD_SET_SUSPEND_OPT_ENABLED {когда = -6мс что = 131158
arg1 = 1 target = com.android.internal.util.StateMachine $ SmHandler} 1 0
03-21 07: 56: 55.552 763-823 /? E / WifiStateMachine: DriverStartedState
(когда = -7ms что = 131158 arg1 = 1CMD_SET_SUSPEND_OPT_ENABLED {когда = -7ms
что = 131158 arg1 = 1
target = com.android.internal.util.StateMachine $ SmHandler} 1 0 03-21
07: 56: 55,574 763-823 /? E / WifiStateMachine:
setSuspendOptimizationsNative: 4 true -want true
stack: setSuspendOptimizationsNative - доступ к $ 16400 - processMessage -
processMsg 03-21 07: 56: 55.575 763-823 /? E / WifiStateMachine:
setSuspendOptimizationsNative сделать это 4 верно
stack: setSuspendOptimizationsNative - доступ к $ 16400 - processMessage -
processMsg 03-21 07: 56: 55.585 763-823 /? E / native: сделать приостановку true
03-21 07: 56: 55.599 763-823 /? E / WifiStateMachine: ScanModeState
(когда = -53мс что = 131248M_CMD_NOTIFY_SCREEN_OFF {когда = -53мс что = 131248
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55.599 763-823 /? E / WifiStateMachine: DriverStartedState
(когда = -54мс что = 131248M_CMD_NOTIFY_SCREEN_OFF {когда = -54мс что = 131248target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55.600 763-823 /? E / WifiStateMachine: SupplicantStartedState
(когда = -54мс что = 131248M_CMD_NOTIFY_SCREEN_OFF {когда = -55мс что = 131248
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 55,601 763-823 /? E / WifiStateMachine: DefaultState (когда = -55мс
что = 131248M_CMD_NOTIFY_SCREEN_OFF {когда = -55мс что = 131248
target = com.android.internal.util.StateMachine $ SmHandler} 0 0 03-21
07: 56: 56.504 1773-29908 /? E / MPlugin: неподдерживаемый класс:
com.mediatek.common.telephony.IOnlyOwnerSimSupport 03-21 07: 56: 56.635
763-779 /? E / Датчики: handleToDriver handle (0) 03-21 07: 56: 56.636
763-779 /? E / Датчики: handleToDriver handle (0) 03-21 07: 56: 56.638
763-779 /? E / Датчики: новый дескриптор setDelay (0), нс (20000000) м, ошибка (0),
указатель (2) 03–21 07: 57: 00,388 763–1406 /? E / Датчики: handleToDriver
ручка (0) 03-21 07: 57: 28,639 1673-13747 /? E / WakeLock: GCM_HB_ALARM
выпуск без согласованного приобретения!