gpt4 book ai didi

android - 没有适配器的上下文菜单

转载 作者:行者123 更新时间:2023-11-30 01:24:33 25 4
gpt4 key购买 nike

我是 Android 新手。我有一个像这样的主类

    public class SearchDay extends AppCompatActivity implements View.OnClickListener {
private ImageButton insertDate;
private Calendar cal;
private int day;
private int month;
private int year;
DatabaseHelper db;
private Spinner SelectTypeNote;
private EditText et;
private Button btnSubmitSearchByDay, btnCancelSearchByDay;
SimpleCursorAdapter dataAdapter;
private static final int REQUEST_CODE = 10;
private ListView listViewManagePage;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_day);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Tìm kiếm theo ngày");

SelectTypeNote = (Spinner) findViewById(R.id.TypeNote_SearchByDay);
insertDate = (ImageButton) findViewById(R.id.dateInsertSearchByDay);
cal = Calendar.getInstance();
et = (EditText) findViewById(R.id.dateInsertSearchByDay_editText);
btnSubmitSearchByDay = (Button) findViewById(R.id.searchByDay);
btnCancelSearchByDay = (Button) findViewById(R.id.cancelSearchByDay);

db = new DatabaseHelper(this);

cal = Calendar.getInstance();
day = cal.get(Calendar.DAY_OF_MONTH);
month = cal.get(Calendar.MONTH);
year = cal.get(Calendar.YEAR);
insertDate.setOnClickListener(this);

Bundle extras = getIntent().getExtras();
final String idUser = extras.getString("IdUser");
setBtnSubmitNoteSearchByDay();
setBtnCancelNoteSearchByDay(idUser);
// registerForContextMenu(listViewManagePage);
listViewManagePage = (ListView) findViewById(R.id.listView_SearchByDay);
listViewManagePage.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(SearchDay.this, "Thanh cong", Toast.LENGTH_SHORT).show();
registerForContextMenu(listViewManagePage);
}

});
}
}

当我点击 ListView 中的项目时,它是成功的。但是我不知道如何在不使用适配器的情况下打开上下文菜单。你能指导我如何在没有适配器的情况下创建上下文菜单吗?此行 registerForContextMenu(listViewManagePage); 不要求我覆盖任何方法。

最佳答案

  1. 您只需在代码中注册一次上下文菜单。在 OnItemClickListener 事件之外注册它。
  2. 覆盖 onCreateContextMenu() 以将项目添加到您的菜单

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
    {
    super.onCreateContextMenu(menu, v, menuInfo);
    menu.setHeaderTitle("选择 Action ");
    menu.add(0, v.getId(), 0, "Call");//groupId,itemId,order,title
    menu.add(0, v.getId(), 0, "短信");
    }

  3. 覆盖 onContextItemSelected() 以处理菜单项的点击事件

    公共(public) bool 值 onContextItemSelected(菜单项){
    如果(item.getTitle()==“调用”){
    Toast.makeText(getApplicationContext(),"调用代码",Toast.LENGTH_LONG).show();

    否则如果(item.getTitle()==“短信”){
    Toast.makeText(getApplicationContext(),"发送短信代码",Toast.LENGTH_LONG).show();
    }否则{
    返回错误;

    返回真值;

关于android - 没有适配器的上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36579736/

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