noob:android按钮

时间:2011-09-29 07:34:56

标签: android button android-cursor

我有两个按钮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)应该是最终的 帮助

2 个答案:

答案 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的父类中的私有字段。