2012-03-21 60 views
0

我想分享整个活动的全局数据和我按照非法访问异常,同时共享全球数据

this link

。但我没有得到如何声明它在我的清单。我发布我的清单代码,我尝试过不同的方式,但仍然出现错误。请告诉我如何解决它。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.helloandroid" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="7" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name" 
    android:name=".Myapp"> 
    <activity android:name=".AndroidtestActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 

这是我的主要活动

公共类AndroidtestActivity扩展活动
{

/** Called when the activity is first created. */ 


    public static final String PREFS_NAME = "MyPrefsFile"; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    EditText et = (EditText) findViewById(R.id.text1); 

    Myapp appState = ((Myapp)getApplicationContext()); 

    String s= appState.getState(); 


    et.setText(s); 


} 

}

和我MYAPP类是

类MyApp的延伸申请{

private String myState; 

    public String getState(){ 
    return myState; 
    } 
    public void setState(String s){ 
    myState = "hello world"; 
    } 
} 

我收到错误的线 MYAPP APPSTATE =((MYAPP)getApplicationContext());

非法访问异常,请告诉我如何解决这个问题

请帮助我。

+0

你真正想做什么,我想跨活动分享全球数据。你能更具体什么你蚂蚁分享 – Triode 2012-03-21 16:06:25

+0

我想分享一个字符串变量跨活动,并为此我使用上述链接,但我仍然没有得到如何正确地声明它。那是我的问题 – siva 2012-03-21 16:23:57

+0

你想要做什么发布你的代码,以便回复会很快。 – Triode 2012-03-21 16:29:15

回答

0

合并应用标签(即把机器人:名字中的第一个,并删除其余部分):

<application android:icon="@drawable/icon" android:label="@string/app_name" 
      android:name=".MyApp"> 

    <activity android:name=".AndroidtestActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 


</application> 

然后用getApplication()代替getApplicationContext()

+0

感谢您的帮助斯蒂芬,但我仍然得到非法的类访问异常。我该如何解决它,请告诉我。请看看我编辑后的清单 – siva 2012-03-21 16:52:18

+0

谢谢stefan,非常感谢 – siva 2012-03-21 18:27:04

+0

Myapp appState =((Myapp)getApplication()); //不... getApplicationContext()! – Stefan 2012-03-22 07:23:41