0

インテントが新しいアクティビティを通過したことを確認しましたが、作成されたリストビューに配置できないようです。

リストビュー アイテムを派生させましたが、文字列になっています。それを ArrayList() に変換する必要があるため、これが私が直面している問題です。したがって、コードの最後の文が正しいかどうかはちょっとわかりません。

if (checkedItems != null){ 
 for (int i=0; i<checkedCount; i++) { 
  if (checkedItems.valueAt(i)) { 
   String item = lstMenu.getAdapter().getItem(checkedItems.keyAt(i)).toString(); 

以下は、以前の arraylist からインテント アイテムを通過する新しいクラスのコードです。前もって感謝します(:

package com.msyd.MenuProject;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class Result extends Activity {
    ArrayList<String> items;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.result);

        Intent intent = this.getIntent();
        String selected = intent.getStringExtra("item"); 
    }

    protected void onResume(){
        super.onResume();

        // Configure the listview
        items = new ArrayList<String>();
        ListView lstitems = (ListView)this.findViewById(R.id.menuResult);

        //lstitems.addItem(selected);
        lstitems.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items));
    }
    private void addItem(String item) {
        items.add(item);
        ListView lstitems = (ListView)this.findViewById(R.id.menuResult);
        ArrayAdapter<String> ad =(ArrayAdapter<String>)lstitems.getAdapter();  
        ad.notifyDataSetChanged();`
    }
}
4

1 に答える 1

0

実際、何を達成しようとしているのかをもう少し明確にする必要があります。しかし、次のスニペットが役立つと思います。

package com.msyd.MenuProject;

import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Result extends Activity
{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.result);
    }

    protected void onResume()
    {
        super.onResume();
        Intent intent = this.getIntent();
        String selected = intent.getStringExtra("item");
        // Configure the listview
        ListView lstitems = (ListView) this.findViewById(R.id.menuResult);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, items);
        adapter.add(selected);
        lstitems.setAdapter(adapter);
    }

}

今後、アダプタに新しいアイテムを追加するときはいつでも、電話することを忘れないでください

adapter.notifyDataSetChanged();
于 2012-06-06T09:07:28.800 に答える