implements onClickListener 无效?
package com.example.ui_menudemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Button bt_context,bt_popup; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_context = this.<Button>findViewById(R.id.bt_context); bt_popup = this.<Button>findViewById(R.id.bt_popup); registerForContextMenu(bt_context); bt_popup.setOnClickListener();//设置监听 } class ButtonListener implements onClickListener{ } //------------------------------------------注册后使用context-------------------------------------------------- //加载context对应的资源 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { getMenuInflater().inflate(R.menu.content,menu); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.savec: Toast.makeText(MainActivity.this,"保存",Toast.LENGTH_SHORT).show(); break; case R.id.createc: Toast.makeText(MainActivity.this,"新建",Toast.LENGTH_SHORT).show(); break; case R.id.exitc: Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_SHORT).show(); finish(); break; } return super.onContextItemSelected(item); } //------------------------------------------全局操作,因此不需要加载-------------------------------------------------- //创建optionsMenu方法 @Override public boolean onCreateOptionsMenu(Menu menu) { //加载当前Menu资源 getMenuInflater().inflate(R.menu.optionmenu,menu); return true; } //对选项菜单进行操作 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.create: Toast.makeText(MainActivity.this,"新建",Toast.LENGTH_SHORT).show(); break; case R.id.save: Toast.makeText(MainActivity.this,"保存",Toast.LENGTH_SHORT).show(); break; case R.id.exit: Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_SHORT).show(); finish(); break; case R.id.z1: Toast.makeText(MainActivity.this,"操作1",Toast.LENGTH_SHORT).show(); break; case R.id.z2: Toast.makeText(MainActivity.this,"操作2",Toast.LENGTH_SHORT).show(); break; case R.id.z3: Toast.makeText(MainActivity.this,"操作3",Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }
老师好, 我在修改本课中的第三项popup弹出菜单,为什么我按照之前的思路,单独建立一个内部类的方式设置监听,提示不能使用接口:onClickListener
12
收起
正在回答
1回答
class ButtonListener implements View.OnClickListener{ @Override public void onClick(View view) { } }
改成这样的implements View.OnClickListener。祝:学习愉快
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星