gpt4 book ai didi

android - 如何在 BaseAdapter 中刷新 Listview?

转载 作者:行者123 更新时间:2023-11-29 16:01:50 25 4
gpt4 key购买 nike

<分区>

我有一个应用程序,这个应用程序包含 listview,Listview 从本地数据库 sqlite 检索数据,通过使用适配器这是我的适配器类代码:

public class CommandsListAdapter extends BaseAdapter {

public static String ID = null;
private List<String> data;

ArrayList<HashMap<String, String>> commandList = new ArrayList<HashMap<String, String>>();

private ArrayAdapter<String> listAdapter;

Context context;

public CommandsListAdapter(Context con,
ArrayList<HashMap<String, String>> list) {

commandList = list;
context = con;


}

@Override
public int getCount() {
// TODO Auto-generated method stub
return commandList.size();
}


@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return commandList.get(arg0);
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}

@Override
public View getView(final int index, View convertView, ViewGroup arg2) {
// TODO Auto-generated method stub


if (convertView == null) {
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);

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




TextView tvTime = (TextView) convertView.findViewById(R.id.timeOfBlock);
TextView tvName = (TextView) convertView.findViewById(R.id.name);

tvName.setText(commandList.get(index).get(MyDatabase.Number_Block));
tvTime.setText(commandList.get(index).get(MyDatabase.Time_Of_Block));

Typeface tf = Typeface.createFromAsset(context.getAssets(),
"segoeuil.ttf");
tvTime.setTypeface(tf);
tvName.setTypeface(tf);

convertView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

// Message.message(context,
// commandList.get(index).get(MyDatabase.Block_Table_Id));

Intent i = new Intent(context, MessageDetail.class);

i.putExtra(ID,
commandList.get(index).get(MyDatabase.Block_Table_Id)
.toString());

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

// context.startActivity(i);

}
});

convertView.setOnLongClickListener(new OnLongClickListener() {

public boolean onLongClick(View v) {
// TODO Auto-generated method stub
ID=commandList.get(index).get(MyDatabase.Block_Table_Id);
removeListItem(v, index);
return false;
}
});

return convertView;
}

protected void removeListItem(View rowView, final int positon) {

final Animation animation = AnimationUtils.loadAnimation(
context, android.R.anim.slide_out_right);
rowView.startAnimation(animation);
Handler handle = new Handler();
handle.postDelayed(new Runnable() {

@Override
public void run() {
commandList.remove(positon);



MyDatabase db=new MyDatabase(context);
db.open();
// db.deleteBlock(ID);
db.close();

Message.message(context, ID);

}
}, 1000);

}



}

这是我的 Activity 类代码:

public class ListOfBlock extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_block);

ActionBar actionBar = getActionBar();
// for color
actionBar.setBackgroundDrawable(new ColorDrawable(Color
.parseColor("#a20000")));

if (actionBar != null) {
actionBar.setTitle(getResources().getString(
R.string.title_activity_list_of_block));
actionBar.setDisplayHomeAsUpEnabled(true);
// actionBar.setIcon(R.drawable.ic_launcher);
}

ListView lvCommands = (ListView) findViewById(R.id.ListOfBlockerListView);

lvCommands.setAdapter(new CommandsListAdapter(getApplicationContext(),
new MyDatabase(getApplicationContext()).getBlockers()));

}


}

现在我想在 getview 方法中刷新 ListView ,我不知道该怎么做,我找到了一些答案,但实际上这对我没有帮助,感谢您的帮助。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com