我有两个按钮b1和b2。如果按下按钮b1,则执行查询q1否则按下按钮b2然后执行另一个查询q2。
if(b1_click)
{
mCursor=//query
}
else if(b2_click)
{
mCursor=//query
}
请告诉我如何实现这个。如何实现b1_click方法或任何内置方法,告诉按钮被按下。我试过
Cursor c;
c=//querys
if(b1.isPressed())
{
next.setOnClickListener
(
new View.OnClickListener()
{
@Override public void onClick(View v) {
c=db.getData1(); (getData1 method return cursor)
}
}
);
}
tv.append(c.getString(column_number) (tv=TextView)
"Same as above for b2"
说光标(c)应该是最终的 帮助
答案 0 :(得分:0)
首先,我建议您阅读一些教程Hello Android,然后您也可以按照Common Tasks and How to do them in Android中的代码和示例进行操作。
如果你仔细阅读,你会知道这很简单,就像这样:
public class MyActiviy extends Activity implements OnClickListener{
protected void onCreate(Bundle savedInstance){
super.onCreate(savedInstance);
setContentView(R.layout.myLayout);
findViewById(R.id.Button1).setOnClickListener(this);
findViewById(R.id.Button2).setOnClickListener(this);
//more code...
}
public void onClick(View v){
switch(v.getId()){
case R.id.Button1:
//Button1 pressedd...do stuff
break;
case R.id.Button2:
//Button2 pressed...do some other stuff
break;
default:
break;
}
}
}
答案 1 :(得分:0)
尝试将OnClickListeners创建为私有类:
private class Button1ClickedListener implements OnClickListener {
public void onClick( View v ) {
//Do what needs to be done when button 1 is clicked.
}
}
private class Button2ClickedListener implements OnClickListener {
public void onClick( View v ) {
//Do what needs to be done when button 2 is clicked.
}
}
然后设置onClick-listeners:
b1.setOnClickListener( new Button1ClickedListener() );
b2.setOnClickListener( new Button1ClickedListener() );
如果需要OnClickListeners能够使用游标,则只需将其声明为OnClickListeners的父类中的私有字段。