Я получаю проблему с ресурсом, не найденным в приложении, в котором я играю, идентификатор существует в представлении и используется правильный вид. Я удалил R-файл и восстановил его, но это не помогло. Он компилирует и показывает, что ресурс найден, но во время выполнения он ошибается при попытке установить текст в текстовом виде. Надеюсь, кто-то может указать, что вызывает это.Ресурс не найден Ошибка в приложении android
Вот код адаптера:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
SongHolder songHolder = null;
if(row == null)
{
LayoutInflater inflater = ((Activity)mContext).getLayoutInflater();
row = inflater.inflate(mLayoutResourceId, parent, false);
songHolder = new SongHolder();
songHolder.txtSongId = (TextView)row.findViewById(R.id.songid);
songHolder.txtName = (TextView)row.findViewById(R.id.name);
songHolder.txtArtist = (TextView)row.findViewById(R.id.artist);
songHolder.txtAlbum = (TextView)row.findViewById(R.id.album);
songHolder.txtNotes = (TextView)row.findViewById(R.id.notes);
row.setTag(songHolder);
}
else
{
songHolder = (SongHolder)row.getTag();
}
ClassSong song = mSongs.get(position);
//###############THE FOLLOWING LINE IS WHERE THE ERROR OCCURS###############
songHolder.txtSongId.setText(song.getSongID());
songHolder.txtName.setText(song.getName());
songHolder.txtArtist.setText(song.getArtist());
songHolder.txtAlbum.setText(song.getAlbum());
songHolder.txtNotes.setText(song.getNotes());
if(song.getAlbum() == "" || song.getAlbum() == null)
songHolder.txtAlbum.setVisibility(View.GONE);
else
songHolder.txtAlbum.setVisibility(View.VISIBLE);
if(song.getNotes() == "" || song.getNotes() == null)
songHolder.txtNotes.setVisibility(View.GONE);
else
songHolder.txtNotes.setVisibility(View.VISIBLE);
return row;
}
XML-для вида:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gat"
android:padding="0dip">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textColor="#FFFFFF"
android:textSize="18sp"/>
<TextView android:id="@+id/songid"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:visibility="gone"
android:textColor="#FFFFFF"
android:textSize="18sp"/>
<TextView android:id="@+id/artist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textColor="#517789"
android:textSize="15sp"/>
<TextView android:id="@+id/album"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:textColor="#517789"
android:textSize="12sp"/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/notes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#517789"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
и код из списка деятельности, который вызывает адаптер:
private void fillData() {
ClassSong song = new ClassSong(this);
ClassSongListAdapter adapter = new ClassSongListAdapter(this, R.layout.song_row, song.getAllSongs(this));
setListAdapter(adapter);
}
Рекомендуем также , при выборе вида в держателе он найден и имеет значение, которое не является нулевым, очевидно. Таким образом, кажется, что textview обнаружен при добавлении в держатель вида, но не тогда, когда я пытаюсь установить для него значение, если я прокомментирую строку песни, другие задания работают просто отлично. У кого-нибудь есть идеи?
Спасибо.
Не могли бы вы отключить просмотр вторсырья? какая ошибка вы получаете, исключение null-указателя? –
Спасибо, @Ridcully был прав, я пытался установить int в TextView, не преобразовывая его в строку, вместо того чтобы автоматически пытаться преобразовать его в строку, в которой он ищет ресурс с этим идентификатором. – collusionbdbh