2013-08-01 5 views
0

У меня возникла ошибка при попытке перейти от одного действия (com.intelligent.stocktrader.MyAccount) к другому (com.intelligent.stocktrader.SharePerformanceDetails). Что я делаю неправильно? У моего кода нет ошибок.
Ниже содержание журнала кошка:Ошибка при переключении активности

Е/AndroidRuntime (787): неустранимый: Основной Е/AndroidRuntime (787): java.lang.RuntimeException: Невозможно запустить активность ComponentInfo {com.intelligent .stocktrader/com.intelligent.stocktrader.SharePerformanceDetails}: java.lang.RuntimeException: Parcelable встречается IOException написание сериализуемая объект (имя = org.achartengine.chart.LineChart) Е/AndroidRuntime (787): в android.app .ActivityThread.performLaunchActivity (ActivityThread.java:1955) E/AndroidRuntime (787): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1980)

MyAccount деятельность OnCreate, где я коммутационная деятельность

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_performance); 
    //Bundle extras = getIntent().getExtras(); 
    //stock_name = extras.getString("stock"); 
    //new PerformanceDetails().execute(); 
    LineGraph line=new LineGraph(); 
    Intent intent=line.getIntent(getApplicationContext()); 
    startActivity(intent); 
} 

Класс рёберного графа

public Intent getIntent(Context context){ 

    ----------- 
      ----------- 
    return intent; 
} 

Класс рёберного графа имеет метод, который вернет намерение.Tha - это то место, где ошибка распространяется от

+4

Опубликовать свой код, есть что-то с объектом, который вы положили в свои намерения. –

+0

- это ваша деятельность 'shareperformancedetails', зарегистрированная в вашем манифесте? –

+0

, вероятно, указывает, что ваш класс не является сериализуемым. org.achartengine.chart.LineChart –

ответ

0

Использование следует ИНГ код на OnClick() это Willl работы-

Intent i = new Intent(getApplicationContext(), SecondScreen.class); 
StartActivity(i); 

Для запуска нашего приложения вы должны ввести свой новый вид деятельности в AndroidManifest.xml файле. Добавить новую активность между тегами:

<activity android:name=".NewActivityClassName"></activity> 
0

Попробуйте это:

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_performance); 
//Bundle extras = getIntent().getExtras(); 
//stock_name = extras.getString("stock"); 
//new PerformanceDetails().execute(); 
LineGraph line=new LineGraph(); 
Intent intent=new Intent(getApplicationContext(),SharePerformanceDetails.class); // EDITED 
startActivity(intent); 

}

+0

Возможно, вы хотите перенести LineGraph на другую деятельность, не так ли? –

+0

Dino, yes. Фактически я вызываю класс LineGraph, у которого есть класс, который вернет намерение классу SharePerformanceDetails. –

+0

@mungaihkamau Я верю, что вы уверены, что он работает. Не принимая во внимание другие ответы, вы должны убедиться, что вы правильно возвращаете намерение. –

1

Это потому, что вы Намерение содержат Linechart, которые не могут быть сериализованы. Вы можете использовать инструменты LineChart из java.io.Serializable.

+0

Джаред, как мне это сделать? –

+0

Открытый класс LineChart реализует Serializable. и сделать его «вложенные сложные типы» реализует интерфейс Serializable. – JaredLuo

Смежные вопросы