Java 使用bundle将数据从活动传递到android中的下一个活动

Java 使用bundle将数据从活动传递到android中的下一个活动,java,android,android-intent,nullpointerexception,bundle,Java,Android,Android Intent,Nullpointerexception,Bundle,我必须将数据从一个活动传递到下一个活动 我在第一次活动中使用了以下代码: static String KEY_CATEGORY = "Category"; static final String KEY_TITLE = "Categoryname"; lview3.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView

我必须将数据从一个活动传递到下一个活动

我在第一次活动中使用了以下代码:

   static String KEY_CATEGORY = "Category";
 static final String KEY_TITLE = "Categoryname";
lview3.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            //HashMap<String, String> map = songsList.get(position);
         switch (position)
         {
             case Tech:
                 Intent tech = new Intent(MainActivity.this, com.ssmobileproductions.catalogue.SubCate.class);
                 tech.putExtra(KEY_TITLE, "Books");
                 startActivity(tech);   
                 break;
             case Sport:
                 Intent sport = new Intent(MainActivity.this, com.ssmobileproductions.catalogue.SubCate.class);
                 sport.putExtra(KEY_TITLE, "CD-DVD-Video");
                    startActivity(sport);   
                 break;


             default:
                 break;
         }
我的数据有价值。 但我必须运行应用程序,这意味着我的屏幕变空了。我做错了什么。请帮助我

这是完整的源代码:

编辑:

这是我的AndroidManifest.xml文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Light.NoTitleBar" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".SubCate"
        android:label="@string/app_name" />

</application>
我必须单击书籍表示它进入下一个活动,并且必须仅显示该书籍子类别。(即)我必须单击书籍类别表示我必须仅显示Internet和软件

我必须单击CD DVD视频表示它进入下一个活动,并且必须仅显示该CD DVD视频子类别。(即)我必须单击CD DVD视频类别表示我必须仅显示CD、DVD

这是我当前的输出:

但我必须运行应用程序,这意味着我在第一次活动中获得了书籍和cd dvd视频。我必须单击任何类别,这意味着将显示空白屏幕。请帮助我。这里发生了什么错误

编辑:

在第二个活动(SubCate.java)文件中,我删除了第行下面的内容

Bundle bdl = getIntent().getExtras();  
KEY_CATEGORY = bdl.getString(KEY_TITLE);
在我必须运行应用程序后,表示我已在第一页显示书籍CD DVD视频类别。之后,我必须单击任何类别,表示我已在每个类别列表上显示所有子类别

例如:

我必须点击书籍类别意味着我必须只显示互联网和软件。但这里显示的是互联网、软件、cd、dvd。
另外,我必须单击CD DVD视频,类别表示我必须只显示CD、DVD。但这里还显示了4个子类别。这里有什么错误。请帮助我

更改清单文件中活动的名称,如下所示:

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

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity
    android:name=".SubCate"
    android:label="@string/app_name" />
String key = getIntent().getStringExtra(KEY_TITLE);
做广告就行了

Intent i=getIntent()


}

是否在Manifeat文件中输入第二个文件活动?是的,我在AndroidManifest.xml文件中添加了使用getIntent().getStringExtra(关键字标题);如果你有空,那么将你的代码发送给我,我会解决你的问题。@NiravRanpara这里的应用程序不会强制关闭。我必须单击任何类别,这意味着它将进入下一个活动并显示空白屏幕。真是令人兴奋的答案,若intent为null,那个么如何从intent中获取值。但这不是答案,因为若intent发送静态值,那个么将值从一个活动发送到第二个活动的代码是正确的。问题在于xml解析中的某个地方。可能是他没有发送正确的XMLTAG@user1859172:您如何知道您没有从一个活动中获取数据。只需发布您的xml。我肯定你没有通过正确的标签,请检查我编辑的问题,并为我提供解决方案this@Nunu现在,我已经更改了清单文件,并在第二次活动中添加了这些行。现在,我必须运行应用程序,这意味着我正在获取书籍和CD DVD视频。如果我必须单击任何类别,则意味着在每个类别上都显示了所有子类别类别。但我希望单击任何类别表示我得到的子类别属于类别。例如:我必须单击书籍类别表示我只能显示Internet和软件。但此处显示4 Internet、软件、cd、dvd。此外,我必须单击cd dvd视频类别表示我必须显示cd,仅限DVd。但此处还显示了4个子类别。此处有何错误
Bundle bdl = getIntent().getExtras();  
KEY_CATEGORY = bdl.getString(KEY_TITLE);
 <activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity
    android:name=".SubCate"
    android:label="@string/app_name" />
lview3.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
        //HashMap<String, String> map = songsList.get(position);
     switch (position)
     {
         case Tech:
             Intent tech = new Intent(MainActivity.this, SubCate.class);
             tech.putExtra(KEY_TITLE, "Books");
             startActivity(tech);   
             break;
         case Sport:
             Intent sport = new Intent(MainActivity.this, SubCate.class);
             sport.putExtra(KEY_TITLE, "CD-DVD-Video");
                startActivity(sport);   
             break;


         default:
             break;
     }
String key = getIntent().getStringExtra(KEY_TITLE);
if(i != null){

   String Title = i.getExtra.getString(KEY_TITLE);