2

私は、各行にいくつかのテキストとイメージボタンがあるリストビューが必要なアプリケーションを実行しています(すべてのボタンに同じイメージでその行を削除するためだけに)。ネットサーフィンをしていると、このコードhttp://www.codemobiles.com/forum/viewtopic.php?t=876を取得しました。このコードには画像も含まれているため、画像のコードを削除しました。すべてがうまくいっていますが、リストを動的に実行しようとしていますが、できません。配列リストを作成し、配列リストを追加できるようにそのコードを変更したので、アイテムを追加または削除できるようになりました (コードのこの部分のみを実行しようとしたため、その部分は機能します) が、「再描画」することはできません。 . 私の考えは、私がこのアダプターを持っていて動作するかどうかということでした.

adap = new EfficientAdapter(this);
setListAdapter(adap);

エラーはありませんが、ニュースはありません。どうすればいいですか?また、エラーがないために行が0の場合、

public Object getItem(int position)

空の文字列配列を返し、このメソッドで:

public int getCount()

私は0を返しますが、行があります。どうすれば修正できますか?

この 2 つの方法の私のコードは次のとおりです。

    public int getCount() {
        // TODO Auto-generated method stub
                    // My arraylist is data2. Because of I didn't know how to do 
//an arraylist of n elements with 3 subelements in each element and then convert
// it to an array, I add every subelement one after one and then I don't mix subelements.
        String [] cambio = (String[]) data2.toArray(new String[data2.size()]);
        if (cambio.length == 0){
            return 0;
        }
        String[] cambio2 = new String[cambio.length/3];
        int j = 0;
        for(int i=0;i<(cambio.length/3);i=i+3){
                   //that's because I need an output of a single string array and
// I need my subelements in this order
            cambio2[j] = cambio[i+1] + " " + cambio[i+2] + "  " +  cambio[i];
            j++;
        }           
        return cambio2.length;
        //return data.length;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub

        String [] cambio = (String[]) data2.toArray(new String[data2.size()]);
        if (cambio.length == 0){
            return cambio;
        }
        String[] cambio2 = new String[cambio.length/3];
        int j = 0;
        for(int i=0;i<(cambio.length/3);i=i+3){
            cambio2[j] = cambio[i+1] + " " + cambio[i+2] + "  " +  cambio[i];
            j++;
        }
        return cambio2[position];
        //return data[position];
    }

事前にどうもありがとうございました。

4

0 に答える 0