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(); 

下面是我的新类的代码,我从以前的数组列表中传递我的意图项。提前致谢(:

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 回答