2017-06-17 37 views
-1

//这是数组适配器,我的应用程序崩溃和日志messgaes说致命的异常:主要找不到资源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; 
    } 

} 

我已创建自定义类单词,并检查所有可能的错误但是我的APP总是崩溃。

+1

请不要放弃! –

+1

请创建一个[最小完整且可验证的示例](https://stackoverflow.com/help/mcve),并将问题形式化为一个问题。 –

+0

在'WordsAdapter'的'getView()'方法中删除'super.getView(position,convertView,parent);'行。 –

回答

0

问题出现在你在textview中设置文本的行。你的一个getter函数必须返回int值0,所以android正在搜索资源引用0x0。在TextView上设置int值时使用String.valueOf。例如

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

试图做到这一点,但没有工作 –

相关问题