Hirdetés

Új hozzászólás Aktív témák

  • negyedes
    addikt

    Én ezt már csak azért nem javasolnám, mert a szomszéd pistika által is megírt injectiont sem védi ki. :) Bár ha itt ha jól látom pont nem volt user input.

    (#1034) negyedes: Ha minden igaz az adapter minden egyes elemhez rendel egy View-t. Az adott sort csak akkor tudod eltüntetni, ha kiszeded a null elemeket az átadott listából.
    Egy másik megoldás még az lehet, hogy csak elrejted a Viewt.

    public class YourAdapter extends ArrayAdapter<YourType> {

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

    ListView listView = (ListView) parent;

    if (convertView == null) {

    if (getItemViewType(position) == 0) { // not null
    convertView = ...; // inflate list item view
    } else { // null
    convertView = new View(getContext());
    convertView.setVisibility(View.GONE);
    }
    }

    if (getItem(position) == 0) { // not null
    ... // update data of the reused list item view
    }

    return convertView;
    }

    @Override
    public int getItemViewType(int position) {
    if (getItem(position) != null) { // not null
    return 0;
    }
    return 1; // null
    }

    @Override
    public int getViewTypeCount() {
    return 2; // not null, null
    }

    }

    Nem teszteltem ki, de működnie kell.

    koszi szepen, vegul ijra irtam a queryt. de belefutottam egy ujabb bajba amit eddig nem vettem eszre:

    adott a kovetkezo kod:
    lv.setOnItemClickListener(new OnItemClickListener() {
    @Override

    public void onItemClick(AdapterView<?> parent, View inbox_list,
    int position, long id) {

    final String messageInbox = "inbox";

    TextView send = (TextView) findViewById(R.id.sender);
    TextView date = (TextView) findViewById(R.id.date);
    TextView subject = (TextView) findViewById(R.id.subject);

    String messageSender = send.getText().toString();
    String messageDate = date.getText().toString();
    String messageSubject = subject.getText().toString();

    intent.putExtra(EXTRA_MESSAGE_SENDER, messageSender);
    intent.putExtra(EXTRA_MESSAGE_DATE, messageDate);
    intent.putExtra(EXTRA_MESSAGE_SUBJECT, messageSubject);
    intent.putExtra(EXTRA_MESSAGE_INBOX, messageInbox);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    startActivity(intent);

    }

    });

    elmeletileg ez megnezni az aktualis click poziciojat es kivalasztja a textview-bol az ertekeket, de nekem allandoan az elso erteket adja meg.

    hogy tudnam azt megcsinalni hogy minden uj clicknel a listaban a normalis ertekek keruljenek az extra-ba?

Új hozzászólás Aktív témák