2017-06-17 11 views
-1

//これはARRAYアダプタのJavaファイルで、私のカスタムクラスはWORDです package com.example.android.miwok;私のアプリがクラッシュし、ログメッセージが致命的な例外と致命的な例外:MAINはリソースID#0X0を見つけることができません

import android.annotation.TargetApi; 
import android.app.Activity; 
import android.os.Build; 
import android.support.annotation.NonNull; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 

import java.util.ArrayList; 
// I WANT TO CREATE A CUSTOM ADAPTER 
public class WordsAdapter extends ArrayAdapter<Word> { 
    private static final String LOG_TAG=WordsAdapter.class.getSimpleName(); 


    public WordsAdapter(Activity context, ArrayList<Word> words) { 
     super(context, 0, words); 
    }//this is the constructor for WordsAdapter 


    @TargetApi(Build.VERSION_CODES.KITKAT) 
    @NonNull 
    @Override 
    public View getView(int position, View convertView, @NonNull ViewGroup parent) { 
     super.getView(position, convertView, parent); 

     // Check if the existing view is being reused, otherwise inflate the view 
     View listItemView=convertView; 
     if (listItemView == null) { 
      listItemView=LayoutInflater.from(getContext()).inflate(
        R.layout.list_item, parent, false); 
     } 


     Word currentword=getItem(position); 

     TextView miwokTranslation=(TextView) listItemView.findViewById(R.id.miwok_text_view);// I HAVE DEFINED THE VIEWS 

     assert currentword != null; 
     miwokTranslation.setText(currentword.getMiwokTranslation()); //THESE METHODS HAVE BEEN DEFINED 


     TextView defaultTranslation=(TextView) listItemView.findViewById(R.id.default_text_view); 

     defaultTranslation.setText(currentword.getDefaultTranslation()); 

     return listItemView; 
    } 

} 

私はCUSTOM CLASS WORDを作成し、すべての可能なエラーのチェックが、それでも私のアプリがクラッシュする持っています。

+1

... SHOUTしないでください! –

+1

[最小限の完全で検証可能な例](https://stackoverflow.com/help/mcve)を作成し、その質問を質問として策定してください。 –

+0

'WordsAdapter'の' getView() 'メソッドの' super.getView(position、convertView、parent); '行を削除します。 –

答えて

0

問題は、TextViewのテキストを設定している行の上にあります。 Getter関数の1つがint値0を返さなければならないので、androidは0x0のResource referenceを探しています。 TextViewにint値を設定するときは、String.valueOfを使用します。例えば

defaultTranslation.setText(String.valueOf(currentword.getDefaultTranslation())); 
+0

これをやってみましたが、 –