Tôi đang học từ một hướng dẫn trực tuyến, và tôi cố gắng thực hiện một số chức năng của riêng tôi. Làm thế nào tôi có thể bật lên một hộp thoại để cảnh báo người dùng khi phát hiện một báo dài trên mục danh sách? Sau đây là một số mã từ hướng dẫn rằng:Làm thế nào để bật lên một hộp thoại để xác nhận xóa khi người dùng nhấn và giữ trên mục danh sách?
public class FriendList extends ListActivity
{
private static final int ADD_NEW_FRIEND_ID = Menu.FIRST;
private static final int EXIT_APP_ID = Menu.FIRST + 1;
private IAppManager imService = null;
private FriendListAdapter friendAdapter;
public String ownusername = new String();
private class FriendListAdapter extends BaseAdapter
{
class ViewHolder {
TextView text;
ImageView icon;
}
private LayoutInflater mInflater;
private Bitmap mOnlineIcon;
private Bitmap mOfflineIcon;
private FriendInfo[] friends = null;
public FriendListAdapter(Context context) { // Constructor of Class "FriendListAdapter"
super();
mInflater = LayoutInflater.from(context);
mOnlineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.greenstar);
mOfflineIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.redstar);
}
public void setFriendList(FriendInfo[] friends)
{
this.friends = friends;
}
public int getCount() { // get how many row are in the listview
return friends.length;
}
public FriendInfo getItem(int position) { // get item from the row
return friends[position];
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) { // For modify the content of row
// A ViewHolder keeps references to children views to avoid unneccessary calls
// to findViewById() on each row.
ViewHolder holder;
// When convertView is not null, we can reuse it directly, there is no need
// to reinflate it. We only inflate a new View when the convertView supplied
// by ListView is null.
if (convertView == null)
{
convertView = mInflater.inflate(R.layout.friend_list_screen, null);
// Creates a ViewHolder and store references to the two children views
// we want to bind data to.
holder = new ViewHolder();
holder.text = (TextView) convertView.findViewById(R.id.text);
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
}
else {
// Get the ViewHolder back to get fast access to the TextView
// and the ImageView.
holder = (ViewHolder) convertView.getTag();
}
// Bind the data efficiently with the holder.
holder.text.setText(friends[position].userName);
holder.icon.setImageBitmap(friends[position].status == STATUS.ONLINE ? mOnlineIcon : mOfflineIcon);
return convertView;
}
}
bạn nên sử dụng menu ngữ cảnh cho ... đăng ký mục danh sách của bạn cho menu ngữ cảnh – amj
Tôi nghĩ rằng bạn đang cố gắng làm một điều phức tạp hơn nhiều so với bạn có thể. Bạn nên bắt đầu với phần đào tạo một trang web dành cho nhà phát triển Android. – Valdrinit