来自Arraylist的自定义列表视图,无法使其工作

时间:2015-01-03 17:54:49

标签: listview

我正在制作一个列表视图的程序,但我不知道我错在哪里!

   package com.example.raktar;

import java.util.ArrayList;



import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

public class AnyagigenyAttekintese extends Activity {

    ListView list;
    AnyagSorokMentese anyagSorokMentese;

    ArrayList<String> arrayCikkszam = new ArrayList<String>();
    ArrayList<String> arrayMegnevezes = new ArrayList<String>();
    ArrayList<String> arrayPolcszam = new ArrayList<String>();
    ArrayList<String> arrayDarabszam = new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.attekintes_lista);
        /*      
        AnyagSorokMentese arrCikkszam = new AnyagSorokMentese();
        arrayCikkszam = arrCikkszam.getArrayCikkszam();
        AnyagSorokMentese arrMegnevezes = new AnyagSorokMentese();
        arrayMegnevezes = arrMegnevezes.getArrayMegnevezes();
        AnyagSorokMentese arrPolcszam = new AnyagSorokMentese();
        arrayPolcszam = arrPolcszam.getArrayPolcszam();
        AnyagSorokMentese arrDarabszam = new AnyagSorokMentese();
        arrayDarabszam = arrDarabszam.getArrayDarabszam();
        */
        arrayCikkszam.add("111-111-111");
        arrayCikkszam.add("111-111-112");
        arrayMegnevezes.add("megnevezés 1");
        arrayMegnevezes.add("megnevezés 2");
        arrayPolcszam.add("K1-01-A");
        arrayPolcszam.add("K1-01-B");
        arrayDarabszam.add("10 db");
        arrayDarabszam.add("20 db");

        //Toast.makeText(this,arrayCikkszam+"\n", Toast.LENGTH_LONG).show();

        CustomList adapter = new CustomList(this, arrayCikkszam, arrayMegnevezes, arrayPolcszam, arrayDarabszam);
            list=(ListView)findViewById(R.id.attekintesLista);
            list.setAdapter(adapter);
            Toast.makeText(this, adapter+"\n", Toast.LENGTH_SHORT).show();
            list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                        Toast.makeText(getBaseContext(), "position: "+position, Toast.LENGTH_SHORT).show();
                    }

                });

    }

}

    package com.example.raktar;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class CustomList extends ArrayAdapter<String>{

    Activity context;
    ArrayList<String> arrayCikkszam;
    ArrayList<String> arrayMegnevezes;
    ArrayList<String> arrayPolcszam;
    ArrayList<String> arrayDarabszam;

    public CustomList(Context context, ArrayList<String> arrayCikkszam, ArrayList<String> arrayMegnevezes, ArrayList<String> arrayPolcszam, ArrayList<String> arrayDarabszam) {
           super(context, R.layout.attekintes_sor);
           this.arrayCikkszam = arrayCikkszam;
           this.arrayMegnevezes = arrayMegnevezes;
           this.arrayPolcszam = arrayPolcszam;
           this.arrayDarabszam = arrayDarabszam;
        }


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

            LayoutInflater inflater = context.getLayoutInflater();
            View rowView= inflater.inflate(R.layout.attekintes_sor, null, true);

            TextView cikkszam = (TextView) rowView.findViewById(R.id.listView_sor_cikkszam);
            TextView megnevezes = (TextView) rowView.findViewById(R.id.listView_sor_megnevezes);
            TextView polcszam = (TextView) rowView.findViewById(R.id.listView_sor_polcszam);
            TextView darabszam = (TextView) rowView.findViewById(R.id.listView_sor_darabszam);

            cikkszam.setText(arrayCikkszam.get(position));
            megnevezes.setText(arrayMegnevezes.get(position));
            polcszam.setText(arrayPolcszam.get(position));
            darabszam.setText(arrayDarabszam.get(position));

            return rowView;
       }
}

我做错了什么? 它没有显示列表视图中的行项。 你能告诉我问题在哪里吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我解决了这个问题!

//LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = LayoutInflater.from(getContext()).inflate(R.layout.attekintes_sor, parent, false);