我试图使用onclick方法。我班上有..
Public class Homework extends Activity implements View.OnClickListner
我有一个这样的方法:
@Override
Public void onClick(View v){
Log.I(TAG, "Click");
}
但是当我点击xml中的视图(具有click = true)时,它没有提供任何东西。
当按下视图时,它意味着使用正常的点击监听器来记录“点击”,但是我不想使用大量的监听器。
答案 0 :(得分:0)
您是否将onClickListener 设置为该视图?
您必须在代码中编写此代码段
View view = findViewById(R.id.your view id);
view.setOnClickListener(this);
答案 1 :(得分:0)
在XML布局中,附加到按钮:
<Button ...
android:onClick="doClick" <!-- name is arbitrary, but must match activity method name -->
</Button>
返回您的活动:
...
public void doClick(View v){
// actions for click response
}
答案 2 :(得分:0)
试试这个:我希望它能起作用
Public class Homework extends Activity implements View.OnClickListner {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // replace main with your layout
findViewById(R.id.view).setOnClickListener(this); // replace view with your id
}
}
@Override
Public void onClick(View v){
Log.I(TAG, "Click");
}
答案 3 :(得分:0)
你应该转而使用我最常用的最简单方法:
@Override
public void onCreate(Bundle savedInstanceState) {
button1.setOnClickListener(onClickListener);
button2.setOnClickListener(onClickListener);
button3.setOnClickListener(onClickListener);
}
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()){
case R.id.button1:
//DO something
break;
case R.id.button2:
//DO something
break;
case R.id.button3:
//DO something
break;
}
}
};