标签: android-3.0-honeycomb

Android:如何将ActionBar"Home"图标更改为应用程序图标以外的其他内容?

我的应用程序的主图标由一个图像中的两个部分组成:徽标和下面的几个字母.这适用于应用程序的启动器图标,但当图标出现在ActionBar的左边缘时,字母会被切断并且看起来不太好.

我想为ActionBar提供一个单独的图标版本,只有"徽标"部分,而不是它下面的字母,但到目前为止一直是空的.老实说,我找不到任何答案,我甚至无法在任何地方找到问题.

android android-3.0-honeycomb android-actionbar

113
推荐指数
6
解决办法
15万
查看次数

更改操作栏中的溢出图标

是否可以更改操作栏中的溢出图标?我有所有ActionBar项目的蓝色图标,我还想在出现时更改溢出图标.

android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-actionbar

110
推荐指数
4
解决办法
6万
查看次数

SearchView的OnCloseListener不起作用

我正在尝试添加SearchView对Android 3.0+ ActionBar的支持,但我无法让它OnCloseListener工作.

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
    searchView.setOnQueryTextListener(new OnQueryTextListener() {
        @Override
        public boolean onQueryTextChange(String newText) {
            searchLibrary(newText);
            return false;
        }
        @Override
        public boolean onQueryTextSubmit(String query) { return false; }
    });
    searchView.setOnCloseListener(new OnCloseListener() {
        @Override
        public boolean onClose() {
            System.out.println("Testing. 1, 2, 3...");
            return false;
        }
    });
    return true;
}
Run Code Online (Sandbox Code Playgroud)

搜索效果很好,每个人都在工作,除了OnCloseListener.没有任何东西被打印到Logcat.这是我按下"关闭"按钮时的Logcat:

02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): …
Run Code Online (Sandbox Code Playgroud)

android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-actionbar

99
推荐指数
7
解决办法
5万
查看次数

无法解析主机"<在此处插入URL>"没有与主机名关联的地址

我尝试过本教程: 从Web获取数据

我尝试在平板电脑的最新平台Android 3.0上实现它,但是,我收到此错误:" 无法解析主机"www.anddev.org"没有与主机名关联的地址. "

您可以签出我用来证明该文件存在的URL. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

我创建了一个私有类,并使用asynctask扩展它.这是代码:

    private class Downloader extends AsyncTask<String,Void,String>{
    String myString = null;
    @Override
    protected String doInBackground(String... arg0) {
        try{
            URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
            URLConnection ucon = myURL.openConnection();
            InputStream is = ucon.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);
            int current = 0;
            while((current=bis.read())!=-1){
                baf.append((byte)current);
            }
            myString = new String (baf.toByteArray());
        }catch(Exception e){
            myString = e.getMessage();
        }
        return myString;
    }
@Override
protected void onPostExecute(String result){
    tv.setText(result);
}
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

android urlconnection android-asynctask android-3.0-honeycomb

97
推荐指数
7
解决办法
13万
查看次数

片段onResume来自后栈

我正在使用兼容包来使用Android 2.2中的Fragments.当使用片段,并在它们之间添加转换到backstack时,我想实现一个活动的onResume的相同行为,即,在弹出一个片段到达"前景"(用户可见)之后backstack,我想在片段中激活某种回调(例如,对共享UI资源执行某些更改).

我看到片段框架中没有内置回调.为了达到这个目的,有没有好的做法?

compatibility android android-fragments android-3.0-honeycomb back-stack

93
推荐指数
3
解决办法
10万
查看次数

如何在操作栏上添加下拉项

在我的Android Honeycomb应用程序中,我使用Tabs作为导航样式.我想在溢出按钮旁边添加一个项目,但我希望该项目成为下拉列表,用户可以在那里选择一个选项,但与导航无关.自从我使用以来最简单的方法是什么mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

是否可以在不使用自定义视图的情况下执行此操作?

android android-layout android-3.0-honeycomb android-spinner android-actionbar

82
推荐指数
2
解决办法
10万
查看次数

片段中的MapView(Honeycomb)

既然最终的SDK已经推出google apis - 使用MapView创建片段的最佳方法是什么?MapView需要MapActivity才能正常工作.

让管理片段的Activity继承自MapActivity(糟糕的解决方案,因为它违背了Fragments自包含的想法)并使用常规的基于xml的布局不起作用.我在MapActivity.setupMapView()中得到一个NullPointerException:

E/AndroidRuntime(  597): Caused by: java.lang.NullPointerException
E/AndroidRuntime(  597):    at com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:289)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:264)
E/AndroidRuntime(  597):    at com.google.android.maps.MapView.(MapView.java:247)

我的第二个想法是以编程方式创建MapView并将关联的活动(通过getActivity())作为Context传递给MapView构造函数.不起作用:

E/AndroidRuntime(  834): Caused by: java.lang.IllegalArgumentException: MapViews can only be created inside instances of MapActivity.
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:291)
E/AndroidRuntime(  834):    at com.google.android.maps.MapView.(MapView.java:235)
E/AndroidRuntime(  834):    at de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900)
E/AndroidRuntime(  834):    at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978)
E/AndroidRuntime(  834):    at android.app.Activity.onCreateView(Activity.java:4090)
E/AndroidRuntime(  834):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)

真的应该有类似MapFragment的东西来处理MapView需要的后台线程我猜...那么目前最好的做法是什么呢?

感谢和问候来自德国,Valentin

android google-maps android-maps android-fragments android-3.0-honeycomb

81
推荐指数
4
解决办法
4万
查看次数

是否有一种方法可以像结果的起始片段一样工作?

我目前在叠加层中有一个片段.这是用于登录该服务.在手机应用程序中,我想在叠加层中显示的每个步骤都是他们自己的屏幕和活动.登录过程有3个部分,每个部分都有自己的活动,使用startActivityForResult()调用.

现在我想使用片段和叠加层做同样的事情.叠加层将显示与每个活动相对应的片段.问题是这些片段托管在Honeycomb API中的一个活动中.我可以让第一个片段工作,但后来我需要startActivityForResult(),这是不可能的.是否有类似于startFragmentForResult()的内容,我可以在其中启动一个新片段,当它完成后,它会将结果返回到前一个片段?

android android-fragments android-3.0-honeycomb

81
推荐指数
5
解决办法
5万
查看次数

如何使用Holo.Light主题,并在蜂窝前设备上回归'Light'?

我想Holo.Light在支持它的设备上使用主题,然后回到Light其他设备上的常规主题.

目前,引用Holo.Light在3.0+上工作正常,但较旧的API只是恢复到默认的"黑暗"主题.我可以通过样式继承来实现我想要的吗?

android android-theme android-3.0-honeycomb android-4.0-ice-cream-sandwich

77
推荐指数
1
解决办法
8万
查看次数

如何在代码中向ActionBar操作添加子菜单项?

通过xml我可以将子菜单项添加到我的动作中ActionBar.

在此输入图像描述

main_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_new_form"
          android:icon="@drawable/ic_new_form"
          android:title="@string/menu_new_form"
          android:showAsAction="ifRoom|withText">
        <menu>
            <item android:id="@+id/form1"
                  android:icon="@drawable/attachment"
                  android:title="Form 1"
                  android:onClick="onSort" />
            <item android:id="@+id/form2"
                  android:icon="@drawable/attachment"
                  android:title="Form 2"
                  android:onClick="onSort" />
        </menu>
    </item>
</menu>
Run Code Online (Sandbox Code Playgroud)

但是如何通过Java代码添加这些子项呢?它不起作用如下,子项被添加到错误的操作(并且还没有显示drawable),非常正确的按钮,而不是我的"新表单"按钮:

在此输入图像描述

main_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_new_form"
          android:icon="@drawable/ic_new_form"
          android:title="@string/menu_new_form"
          android:showAsAction="ifRoom|withText">
    </item>
</menu>
Run Code Online (Sandbox Code Playgroud)

Java代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_menu, menu);

    Log.d("MainMenu", ",menu title0: " + menu.getItem(0).getTitle()); 
    // returns "New Form"

    menu.addSubMenu(0, Menu.NONE, 1, "Form 1").setIcon(R.drawable.attachment);
    menu.addSubMenu(0, Menu.NONE, 2, "Form …
Run Code Online (Sandbox Code Playgroud)

android menuitem android-3.0-honeycomb android-actionbar

62
推荐指数
1
解决办法
7万
查看次数