Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:想在我的mainactivity中访问viewholder中的文本视图吗_Java_Android_Android Listview_Android Adapter - Fatal编程技术网

Java Android:想在我的mainactivity中访问viewholder中的文本视图吗

Java Android:想在我的mainactivity中访问viewholder中的文本视图吗,java,android,android-listview,android-adapter,Java,Android,Android Listview,Android Adapter,我很抱歉我的英语不好,但我的问题是: 我使用ArrayAdapter之类的自定义列表视图,并在我的主要活动中创建ArrayAdapter作为实习生类,如下所示: /*This is my Main Activity*/ public class KhassaideActivity extends Activity { ViewHolder holder; KhassaideAdapterbi listadapter ; ListView l ;

我很抱歉我的英语不好,但我的问题是:

我使用ArrayAdapter之类的自定义列表视图,并在我的主要活动中创建ArrayAdapter作为实习生类,如下所示:

    /*This is my Main Activity*/
    public class  KhassaideActivity extends Activity {

    ViewHolder holder;
    KhassaideAdapterbi listadapter ;
    ListView l ; 

    @Override
    protected void onCreate(Bundle savedInstanceState) {

      l= (ListView) findViewById(R.id.listDieuzbou);
      listadapter = new KhassaideAdapterbi(this, R.layout.affichage_khassaide, rowItems);
      l.setAdapter(listadapter);
    }

    /*This is my intern class ArrayAdapter*/
    private class KhassaideAdapterbi  extends ArrayAdapter<RowItem>{

    Context context;
    public KhassaideAdapterbi(Context context, int resourceId,
            List<RowItem> items) {

        super(context, resourceId, items);
        this.context = context;
    }

    public class ViewHolder {
    ImageView imageView;
    TextView trad;
    TextView trans;
    TextView number;
}

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {


        RowItem rowItem = getItem(position);

        LayoutInflater mInflater = (LayoutInflater) context
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);

        if (convertView == null) {

 holder = new ViewHolder();
            convertView = mInflater.inflate(R.layout.affichage_khassaide, null);

            holder.number = (TextView) convertView.findViewById(R.id.number);
            holder.trad = (TextView) convertView.findViewById(R.id.traduction);
            holder.trans = (TextView) convertView.findViewById(R.id.transcription);
            holder.imageView = (ImageView) convertView.findViewById(R.id.arabe);
            convertView.setTag(holder);
        }
        else
            holder = (ViewHolder) convertView.getTag();

        holder.trad.setText(rowItem.getTitle());
        holder.trans.setText(rowItem.getDesc());
        holder.imageView.setImageResource(rowItem.getImageId());
        holder.number.setText(rowItem.getNumber());
        return convertView;
    }



}
但是我在这一行得到一个NullPointerExceptionlistadapter.holder.trad.getText()


有人能解决这个问题吗?先谢谢你。再次为这糟糕的英语感到抱歉

你应该改变这个

private class KhassaideAdapterbi  extends ArrayAdapter<RowItem>{

Context context;
List<RowItem> Rowitems;
public KhassaideAdapterbi(Context context, int resourceId,
        List<RowItem> items) {

    super(context, resourceId, items);
    this.context = context;
    this.Rowitems = items;
}
私有类KhassaideAdapterbi扩展了ArrayAdapter{
语境;
列出项目;
公共KhassaideAdapterbi(上下文,int resourceId,
(列表项目){
超级(上下文、资源ID、项目);
this.context=上下文;
此.Rowitems=项目;
}

现在,在调用setContentView方法的onCreate方法中从Rowitems获取数据…

?我在上面的代码中省略了,但我首先在我的onCreate方法中调用它,就像`@Override protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_khassaide)`但是Rowitems的值不是最终使用的,或者它是我的主要活动的一个属性?非常感谢它的工作非常完美,我将Rowitems作为我的主要活动的一个属性使用。
private class KhassaideAdapterbi  extends ArrayAdapter<RowItem>{

Context context;
List<RowItem> Rowitems;
public KhassaideAdapterbi(Context context, int resourceId,
        List<RowItem> items) {

    super(context, resourceId, items);
    this.context = context;
    this.Rowitems = items;
}