当前位置: 首页 > 知识库问答 >
问题:

如果我在下面的源代码中添加标题栏删除代码,导致adt关闭(不幸的是,已停止)

顾涵衍
2023-03-14
**MainActivity**
package com.example.tabtest;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class TabFragTest extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
//  requestWindowFeature(Window.FEATURE_NO_TITLE);
    final ActionBar actionBar = getActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    actionBar.addTab(actionBar
            .newTab()
            .setText("Tab1")
            .setTabListener(
                    new TabListener<FragmentTab1>(this, "tab1",
                            FragmentTab1.class)));
    actionBar.addTab(actionBar
            .newTab()
            .setText("Tab2")
            .setTabListener(
                    new TabListener<FragmentTab2>(this, "tab3",
                            FragmentTab2.class)));
    actionBar.addTab(actionBar
            .newTab()
            .setText("Tab3")
            .setTabListener(
                    new TabListener<FragmentTab3>(this, "tab3",
                            FragmentTab3.class)));
    if (savedInstanceState != null) {
        actionBar.setSelectedNavigationItem(savedInstanceState
                .getInt("selectedTab", 0));
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("selectedTab", getActionBar()
            .getSelectedNavigationIndex());
}

}

**TabListener**
package com.example.tabtest;

import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.widget.Toast;

public class TabListener<T extends Fragment> implements ActionBar.TabListener {
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
private Fragment mFragment;

public TabListener(Activity activity, String tag, Class<T> clz) {
    mActivity = activity;
    mTag = tag;
    mClass = clz;
    mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
    if (mFragment != null && !mFragment.isDetached()) {
        FragmentTransaction fragmentTransaction = mActivity
                .getFragmentManager().beginTransaction();
        fragmentTransaction.detach(mFragment);
        fragmentTransaction.commit();
    }
}

public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) {
    if (mFragment == null) {
        mFragment = Fragment.instantiate(mActivity, mClass.getName(),
                null);
        fragmentTransaction
                .add(android.R.id.content, mFragment, mTag);
    } else {
        fragmentTransaction.attach(mFragment);
    }
}

public void onTabUnselected(Tab tab,
        FragmentTransaction fragmentTransaction) {
    if (mFragment != null) {
        fragmentTransaction.detach(mFragment);
    }
}

public void onTabReselected(Tab tab,
        FragmentTransaction fragmentTransaction) {
    Toast.makeText(mActivity, "onTabReselected!", Toast.LENGTH_SHORT)
            .show();
}

}

**tabview1**
package com.example.tabtest;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class FragmentTab1 extends Fragment {
@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.simple, container, false); 
    View tv = v.findViewById(R.id.text); 
    ((TextView) tv).setText("1");
    return v;
}

}

**tabview2**
package com.example.tabtest;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class FragmentTab2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.simple, container, false);
    View tv = v.findViewById(R.id.text);
    ((TextView) tv).setText("2.");
    return v;
}

}

**tabview3**
package com.example.tabtest;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class FragmentTab3 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.simple, container, false);
    View tv = v.findViewById(R.id.text);
    ((TextView) tv).setText("3");
    return v;
}

}

**xml**
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TabFragTest" >

<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

</RelativeLayout>

}

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

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="16" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
//  android:theme="@android:style/Theme.NoTitleBar"
    >
    <activity
        android:name="com.example.tabtest.TabFragTest"
        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>

</manifest>

Logcat

07-09 09:32:29.953:D/gralloc_金鱼(770):未检测到GPU仿真的模拟器。07-09 09:59:45.604:E/Trace(819):打开跟踪文件时出错:没有这样的文件或目录(2)07-09:59:46.003:D/AndroidRuntime(819):关闭VM 07-09:59:46.003:W/dalvikvm(819):threadid=1:线程退出时出现未捕获异常(组=0x40a13300)07-09:59:46.013:E/AndroidRuntime(819):致命异常:main 07-09:59:46.013:E/AndroidRuntime(819):java。lang.RuntimeException:无法启动活动组件信息{com.example.tabtest/com.example.tabtest.TabFragTest}:java。lang.NullPointerException 07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2059)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2084)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动线程。在android上访问$600(ActivityThread.java:130)07-09 09:59:46.013:E/AndroidRuntime(819)。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1195)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。操作系统。汉德勒。dispatchMessage(Handler.java:99)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。操作系统。活套。loop(Looper.java:137)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动线程。main(ActivityThread.java:4745)07-09 09:59:46.013:E/AndroidRuntime(819):在java。朗,反思一下。方法Invokenactive(本机方法)07-09 09:59:46.013:E/AndroidRuntime(819):在java上。朗,反思一下。方法invoke(Method.java:511)07-09 09:59:46.013:E/AndroidRuntime(819):在com上。Android内部的操作系统。ZygoteInit$MethodandArgscaler。运行(ZygoteInit.java:786)07-09 09:59:46.013:E/AndroidRuntime(819):在com上。Android内部的操作系统。合子体。main(zyteinit.java:553)07-09 09:59:46.013:E/AndroidRuntime(819):在dalvik。系统原生艺术。main(原生方法)07-09 09:59:46.013:E/AndroidRuntime(819):由java引起。lang.NullPointerException 07-09 09:59:46.013:E/AndroidRuntime(819):在com上。实例塔贝斯特。塔夫拉格特。onCreate(TabFragTest.java:14)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动performCreate(Activity.java:5008)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。仪器仪表。callActivityOnCreate(Instrumentation.java:1079)07-09 09:59:46.013:E/AndroidRuntime(819):在android上。应用程序。活动线程。performLaunchActivity(ActivityThread.java:2023)07-09 09:59:46.013:E/AndroidRuntime(819):。。。还有11个

请帮帮我

共有1个答案

蓬野
2023-03-14

com.example.tabtest.TabFragTest.on创建(TabFragTest.java:14)

在第14行TabFragTest中,您将得到一个NullPointerExctive。这是导致异常的行:

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

由于actionBar为空,因此在尝试使用此对象时会抛出一个NPE。它是空的,因为getActionBar() 返回操作栏。

ActionBar被添加到Android 3.0中。因此,这只适用于Android3.0及以上版本,在Android2.3及以下版本,你会得到例外。

不过,你可以使用SherlockActionBar,它兼容2.0版本的所有Android。x和以上。

 类似资料:
  • 本文向大家介绍Vue.js动态添加、删除选题的实例代码,包括了Vue.js动态添加、删除选题的实例代码的使用技巧和注意事项,需要的朋友参考一下 大家先看看页面效果吧,当当当当``````````````````````` 图中第二个选题是小颖点击了"新增选题"按钮,然后出来的,当你点击了"删除选项"或"删除选题"按钮,就会删除相应的选项和选题. html代码 js代码 css代码 以上所述是小编给

  • 此问题似乎与在帮助中心定义的范围内编程无关。 我正在做一个名为“wonaco”的项目。在这个文件夹中,我从本地拉出了主分支,创建了一个新的开发分支,并签出到该开发分支。 现在,我运行以下命令: 但我收到通知: 致命:“源”似乎不是git存储库致命:无法从远程存储库读取。 请确保您拥有正确的访问权限并且存储库存在。 我需要将代码推送到dev分支。

  • 我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 进入三角形的三个边

  • 我试图使java编译类文件,但它抛出了一个错误,如何修复它。

  • 上面这一行正在生成错误“invlaid escape sequence”。所以我把它改成: 现在我得到了错误“参数fileAttachment的非法修饰符”。 那么如何修复这个错误呢?

  • 编辑问题以包括所需的行为、特定问题或错误,以及重现问题所需的最短代码。这将有助于其他人回答这个问题。 代码不返回值,而是返回“?”。编译时我没有遇到任何错误。请协助。 代码需要返回需要支付的剩余金额。输出代码1代码2代码3代码4