2016-11-12 56 views
0

我是Android Studio的初學者。我正在使用Windows。我的主要活動出現錯誤。錯誤:在android中表達式的非法啓動。請幫我解決這個問題。提前感謝。主要活動的錯誤消息

守則是

public class MainActivity extends AppCompatActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button Expense=(Button)findViewById(R.id.Expense); 
     Button Income=(Button) findViewById(R.id.Income); 

     Expense.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MainActivity.this, Addpanel.class); 
       startActivity(intent); 

      } 

     }); 

     Income.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       Intent intent1 = new Intent(MainActivity.this, Addincome.class); 
       startActivity(intent1); 

      } 

     }); 

     public class MainActivity extends ActionBarActivity { 
      DatabaseHelper myDb; 
      EditText editproduct,editamount; 
      Button btnsave; 
      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_addpanel); 
       myDb = new DatabaseHelper(this); 
       editproduct = (EditText)findViewById(R.id.product); 
       editamount = (EditText)findViewById(R.id.amount); 
       btnsave = (Button)findViewById(R.id.save); 
       save(); 
      } 
      public void save() { 
       btnsave.setOnClickListener(
         new View.OnClickListener() { 
          @Override 
          public void onClick(View v) { 
           boolean isInserted = myDb.insertData(editproduct.getText().toString(), 
             editamount.getText().toString() 
           ); 
           if(isInserted == true) 
            Toast.makeText(MainActivity.this,"Data Inserted",Toast.LENGTH_LONG).show(); 
           else 
            Toast.makeText(MainActivity.this,"Data not  Inserted",Toast.LENGTH_LONG).show(); 
          } 
         } 
       ); 
      } 
      public void showMessage(String title,String Message){ 
       AlertDialog.Builder builder = new AlertDialog.Builder(this); 
       builder.setCancelable(true); 
       builder.setTitle(title); 
       builder.setMessage(Message); 
       builder.show(); 
      } 
      @Override 
      public boolean onCreateOptionsMenu(Menu menu) { 
       getMenuInflater().inflate(R.menu.menu_main, menu); 
       return true; 
      } 
      @Override 
      public boolean onOptionsItemSelected(MenuItem item) { 
       int id = item.getItemId(); 

       if (id == R.id.action_settings) { 
        return true; 
       } 

       return super.onOptionsItemSelected(item); 
      } 
     } 
    } 
} 
+1

發佈您的logcat – sasikumar

+0

爲什麼有兩個MainActivity? –

+0

我的初學者包含兩個'MainActivity'和兩個'OnCreate()' –

回答

1

創建了兩個MainActivity在你的代碼,所以你得到表達的非法啓動的錯誤。你必須在單獨的Mainactivity中編寫你的代碼。

+0

。我的項目是創建一個費用應用程序,用簡單的設計添加產品說明和金額,然後將詳細信息保存到數據庫。我怎樣才能實現這一點。感謝您的評論 –

+0

您可以使用PHP或任何其他API的API調用或使用SQLite數據庫來存儲您的記錄。 – mehul

1

您有兩個MainActivity,可能會導致錯誤。嘗試擺脫其中的一個。

0

在一個類中有兩個活動需要爲MainActivity創建兩個分離的類。

+0

我是初學者。我的項目是創建一個費用應用程序,用簡單的設計添加產品說明和金額,然後將詳細信息保存到數據庫。我如何實現這一點。感謝您的評論 - –