2012-09-29 33 views
1

我想從RechargeActivity.java文件中調用可插入的方法,其中定義位於另一個TryUIOpenHelper.java中,其中創建了我的數據庫和表。我想知道這更好的辦法..請幫助Android - Sqlite數據庫方法未定義類型new View.OnClickListener(){}

 public class RechargeActivity extends Activity { 
    protected void onCreate(Bundle savedInstanceState) { 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.rechtable); 

    RadioButton rb1 = (RadioButton) findViewById(R.id.rtt1); 
    RadioButton rb2 = (RadioButton) findViewById(R.id.rtt2); 
    final TextView amount = (TextView)findViewById(R.id.amount1); 
    final TextView talktime = (TextView)findViewById(R.id.talktime1); 
    final TextView validity = (TextView)findViewById(R.id.validity1); 
    final Button button = (Button) findViewById(R.id.done); 

    final TryUIOpenHelper helper=new TryUIOpenHelper(this); 
    final SQLiteDatabase dbDatabase=helper.getWritableDatabase(); 
    final Date date = new Date(); 
    Calendar now = Calendar.getInstance(); 
    int year = now.get(Calendar.YEAR); 
    int month = now.get(Calendar.MONTH);  // 0 to 11 
    int day = now.get(Calendar.DAY_OF_MONTH); 

    String val=""+(day)+"/"+(month+1)+"/"+(year+1)+""; 
     validity.setText(val); 

    try{ 
    rb1.setOnClickListener(new OnClickListener() 
    { 
      public void onClick(View v) 
      { 
      //Error here: The method inserttable(SQLiteDatabase) is undefined  for the type new View.OnClickListener(){} 
    inserttable(dbDatabase); 

      } 
      }); 
    } 
    catch(Exception e) 
    { 
    System.out.println("Exception:"+e); 
    } 

    rb2.setOnClickListener(new OnClickListener() 
    { 
    public void onClick(View v) 
     { 

     } }); 

    button.setOnClickListener(new OnClickListener() { 
     @Override 
    public void onClick(View v) { 
    final Intent intent = 
    new Intent(RechargeActivity.this,  NumForRecharge.class); 
      startActivity(intent); 
     } 
    }); 

    //db.close(); 

     }   
     } 

回答

0

調用它的TryUIOpenHelper對象

helper.inserttable(dbDatabase); 
0
rb1.setOnClickListener(new OnClickListener() 
    { 
      public void onClick(View v) 
      { 

    TryUIOpenHelper openHelper=new TryUIOpenHelper(); 
    openHelper.inserttable(dbDatabase); 

      } 
      }); 

更改onClickListener篩選。

原因:當您嘗試使用其位於一些其他類的方法,你需要創建該類的對象,然後纔可以調用從類中的方法(假設它是公共的方法)。如果它是私人方法,那麼您將無法訪問它。

同樣,如果該方法是靜態方法,則不需要爲該類創建對象。只需ClassName.MethodName();即可。

相關問題