0

我目前正在开发一个 android 应用程序,直到现在我使用 eclipse android 模拟器来测试它。

今天我决定在我的手机(小米 mi2)上试一试,但是当我吃午饭时(通过 USB 调试)我遇到了 2 个问题:

  1. 我有一张模拟器完美显示的背景图片,但它没有出现在我的手机上 - 显示的是黑色背景。

  2. 也许这是上一个的问题,LogCat 显示一些错误:

03-01 22:18:35.599: E/OpenGLRenderer(1109): Cannot generate texture from bitmap 03-01 22:18:35.629: E/SpannableStringBuilder(1109): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

活动代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="480dip"
android:layout_marginTop="10dip"
android:background="@drawable/bg">
<EditText
    android:id="@+id/eu_un"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    android:hint="@string/enter_user_name" >
</EditText>

<EditText
    android:id="@+id/eu_pw"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/eu_un"
    android:ems="10"
    android:hint="@string/enter_password"
    android:inputType="textPassword|textPersonName" />

<Button
    android:id="@+id/nu"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="134dp"
    android:text="@string/signup" />

<Button
    android:id="@+id/eu_signin"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/eu_pw"
    android:layout_centerHorizontal="true"
    android:text="@string/login" />

<Button
    android:id="@+id/exit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/eu_signin"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="61dp"
    android:text="@string/exit" />

</RelativeLayout>

Java代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    un = (EditText) findViewById(R.id.eu_un);
    pw = (EditText) findViewById(R.id.eu_pw);
    nu = (Button) findViewById(R.id.nu);
    eu = (Button) findViewById(R.id.eu_signin);
    exit = (Button) findViewById(R.id.exit);
    ma = this;

    nu.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            newUser();
        }
    });
4

3 回答 3

1

这是一个奇怪的错误。我做了一些搜索,发现一些类似的帖子似乎表明它与设备的键盘设置有关:

Android - SPAN_EXCLUSIVE_EXCLUSIVE 跨度的长度不能为零

Nexus 7 错误“SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度”

他们中的大多数人在问题中都有特定的电话。

每当 editText 变空时,SPAN_EXCLUSIVE_EXCLUSIVE 跨度不能有零长度错误

如果您搜索,还有更多

http://www.google.com/search?client=safari&rls=en&q=SPAN_EXCLUSIVE_EXCLUSIVE+spans+cannot+have+a+zero+length&ie=UTF-8&oe=UTF-8

我知道这并不能提供你所希望的答案——但理想情况下它会让你朝着正确的方向前进。

于 2013-03-01T21:02:03.777 回答
0

我在 genymotion API 16+ 上的模拟设备上也遇到了这个错误。

我的问题的解决方案是用 png 图像替换 gif 图像。

感谢http://www.pedrorainho.eu/eopenglrenderer2268-cannot-generate-texture-from-bitmap/

于 2015-12-21T21:45:40.593 回答
-1

我在使用 Android L 版本的 nexus5 中遇到了同样的错误。就我而言,我评论了两行来修复它。( // opt.inPurgeable = true; // opt.inInputShareable = true; ) 希望对你有用。祝你好运!

下面是我的代码:

ImageView image = (ImageView) findViewById(R.id.imageView);
        BitmapFactory.Options opt = new BitmapFactory.Options();
        opt.inPreferredConfig = Bitmap.Config.RGB_565;
//        opt.inPurgeable = true;
//        opt.inInputShareable = true;
        
        InputStream is = getResources().openRawResource(R.raw.error_nothing_app);
        Bitmap bitmap = BitmapFactory.decodeStream(is, null, opt);
        is.close();
        BitmapDrawable drawable = new BitmapDrawable(getResources(), bitmap);
        image.setImageDrawable(drawable);

于 2015-01-06T12:11:52.893 回答