Android не удалось разобрать файл PNG - PullRequest
0 голосов
/ 10 декабря 2010

Я разработал приложение, которое прекрасно работает на симуляторе, но когда я пытаюсь запустить его на телефоне, приложение выдает ошибку, заявляя java.io.FileNotException: res / drawable / divider_hor Horizontal_dark.9.png

Я подумал, что в приложении отсутствует этот файл (возможно, системный файл Android), поэтому я нашел этот файл в другом месте в Интернете и поместил его в Drawable, но тщетно. приложение по-прежнему выдает ошибку с той же ошибкой, что и раньше.

Есть идеи, в чем здесь проблема?

XML-файл

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" android:gravity="left|center"
    android:layout_width="wrap_content" android:paddingBottom="5px"
    android:paddingTop="5px" android:paddingLeft="5px" >
    <ImageView android:id="@+id/linkImage" android:layout_width="wrap_content"
        android:layout_height="fill_parent" android:layout_marginRight="6dip"
        android:src="@drawable/icon" />
    <LinearLayout android:orientation="vertical"
        android:layout_width="0dip" android:layout_weight="1"
        android:layout_height="fill_parent">
        <TextView android:id="@+id/firstLineView"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:gravity="center" android:textColor="#FFFF00" android:text="first line title"></TextView>

        <TextView android:id="@+id/secondLineView"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:text="second line title" android:layout_marginLeft="10px" android:gravity="center"
            android:textColor="#0099CC"></TextView>

    </LinearLayout>
</LinearLayout>

и часть кода, в которой происходит сбой приложения при загрузке .. вы можете видеть, что я не использовал файл divider_horizont_dark.9.png

public View getView(int position, View convertView, ViewGroup parent){
            ViewHolder holder;
            if(convertView == null){
                convertView = mInflater.inflate(R.layout.listview,null);
                holder = new ViewHolder();
                holder.firstLine = (TextView) convertView.findViewById(R.id.firstLineView);
                holder.secondLine = (TextView) convertView.findViewById(R.id.secondLineView);
                holder.imageView = (ImageView) convertView.findViewById(R.id.linkImage);
                //holder.checkbox = (CheckBox) convertView.findViewById(R.id.star);
                holder.firstLine.setFocusable(false);
                holder.secondLine.setFocusable(false);
                holder.imageView.setFocusable(false);
                //holder.checkbox.setFocusable(false);
                convertView.setTag(holder);
            }else{
                holder = (ViewHolder) convertView.getTag();
            }
.....

похоже, что они исправили проблему http://code.google.com/p/transdroid/issues/detail?id=14

но я как-то не понимаю

1 Ответ

0 голосов
/ 10 декабря 2010

Вам нужно использовать идентификатор ресурса вместо того, чтобы пытаться открыть файл, указав путь к нему (в исходном коде). Существует множество документации по Android, объясняющей, как это сделать ...

http://developer.android.com/guide/topics/resources/providing-resources.html

http://developer.android.com/guide/topics/resources/accessing-resources.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...