相关疑难解决方法(0)

使用适配器动态更新listview

教程使用SimpleAdapter工作正常,但我需要在输入新数据时更新适配器中的数组.

你能否指导我如何使用SimpleAdapter以外的东西更新ListView?

android listview

69
推荐指数
2
解决办法
16万
查看次数

如何清除ListView的RecycleBin中的视图?

在Android的ListView小部件中,ListView将保存从getView内部类中的适配器方法获得的视图RecycleBin.

如何清除视图RecycleBin并强制ListView重新创建所有子视图.

android android-listview

15
推荐指数
2
解决办法
9729
查看次数

Android notifyDataSetChanged

我有一个充满自定义的列表ArrayAdapter.

我想每秒更新一个进度条,所以我试图使用notifyDataSetChanged()以重新绘制列表,但它似乎不起作用.

android android-arrayadapter

14
推荐指数
1
解决办法
7万
查看次数

[done] notifyDataSetChanged()不会自动更新ListActivity

我在使用BaseAdapter的notifyDataSetChanged()时遇到了一些麻烦.此方法在refreshItems()中调用,并将更新ListActivity的BaseAdapter.在调用notifyDataSetChanged()之前没有任何反应,直到我使用箭头键向下滚动ListView.不知怎的,修改后的getView()方法也没有被调用.也许你可以给我一个提示 - 谢谢!:)

public class WinampControlClientPlaylist extends ListActivity {

static WinampControlClientPlaylist activity = null;

static EfficientAdapter adapter = null;


static class EfficientAdapter extends BaseAdapter {


    public EfficientAdapter(Context context) {
        mInflater = LayoutInflater.from(context);
    }

    private LayoutInflater mInflater;

    @Override
    public int getCount() {
        return Settings.playlistlength;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        ViewHolder holder;


        if (convertView == null) 
        {
            holder = new ViewHolder();

            convertView = mInflater.inflate(R.layout.listview, null);

            holder.text …
Run Code Online (Sandbox Code Playgroud)

android

8
推荐指数
2
解决办法
2万
查看次数

如何刷新Android列表适配器,以便显示新添加的项目

我正在做一个项目.它只是显示任务列表并向其添加新任务.我有3堂课.一个用于添加,一个用于查看,一个用于保存所有信息(或者我认为).

我的列表中已经有2个任务,并且显示正确.

问题是,当我添加一个新任务时,它不会在视图中显示它们.我尝试了很多可能的解决方案:

  • 只需将项目添加到列表中

  • 创建一个包含旧旧项目和重建适配器的新列表;

  • 使用notifyDataSetChanged();沿着与附加()命令;

  • 等等

这是我的代码,它有点乱,但我希望你能弄明白.

AndroidListAdapterActivity类:

public class AndroidListAdapterActivity extends ListActivity {
    /** Called when the activity is first created. */
    Button b1;
    Lista o;
    ArrayAdapter aa;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    b1=(Button)findViewById(R.id.add);
    Log.w("POC", "PA OVO SE ZOVE SVAKI PUT");
    o=new Lista();
    o.lis.add("S1");
    o.lis.add("S2");
   aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, o.lis);
    setListAdapter(aa);

    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i = new Intent(AndroidListAdapterActivity.this, Dodavanje.class);
            startActivity(i);
        }
    });

} …
Run Code Online (Sandbox Code Playgroud)

java android android-arrayadapter

8
推荐指数
2
解决办法
3万
查看次数

Listview在数据库更新和adapter.notifyDataSetChanged()之后没有更新;

我已经在网上浏览了2天并尝试了很多东西,但似乎无法弄清楚这有什么问题.

我仍然相当熟悉Android的发展,所以我可能错过了一些明显的东西.

我有一个应用程序女巫正在使用sqllite数据库存储一些数据和这个概念证明的列表在列表视图中显示.我可以在列表中添加项目,删除它们.

到现在为止还挺好.我遇到的问题是当我而不是删除更新数据库中名为"已删除"的列并将其设置为1然后让适配器更新列表.似乎没有用.

如果我使用删除语句,它的工作原理.它更新,一切都很好,但我想在数据库中删除已删除的项目,但不显示它们(所以基本上"隐藏"项目)

如果我检查数据库,更新本身会成功更改列和所有内容,所以我想这是一个刷新问题,因为适配器不会重新查询数据库或那个方向的东西

Listview Loader:

public void fillData() {

    if(lw.getAdapter() == null){
        // Fields from the database (projection)
        // Must include the _id column for the adapter to work
        String[] from = new String[] { TodoTable.COLUMN_SUMMARY, TodoTable.COLUMN_ID};
        String where = TodoTable.COLUMN_DELETED + " = ?";


        Cursor cursor = getContentResolver().query(TodoContentProvider.CONTENT_URI,from,where,new String[] {"0"},null);
        // Fields on the UI to which we map
        int[] to = new int[] { R.id.label };

        adapter = new SimpleCursorAdapter(this, R.layout.todo_row, cursor, from,
                to, 0); …
Run Code Online (Sandbox Code Playgroud)

sqlite android listview adapter android-listview

1
推荐指数
1
解决办法
1万
查看次数