2014-11-20 4 views
-2

MainActivity가 강조 표시되고 'MainActivity가 중첩 된 유형을 숨길 수 없습니다.'라는 오류가 표시됩니다.이 문제를 해결하면 도움이됩니다. 첫 번째 MainActivity를 제거하면 나머지 코드가 오류로 채워 집니까?'public class MainActivity extends Activity extends OnClickListener'를 선언 할 때

package com.example.myfirstapp; 

import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.EditText; 


public class MainActivity extends ActionBarActivity { 
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

public class MainActivity extends Activity implements OnClickListener { 

    EditText fuelCost; 
    EditText distance; 
    EditText milesPerGallon; 

    Button btn_1; 

    TextView result; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     fuelCost = (EditText) findViewById(R.id.fuelCost); 
     distance = (EditText) findViewById(R.id.distance); 
     milesPerGallon = (EditText) findViewById(R.id.milesPerGallon); 

     btn_1 = (Button) findViewById(R.id.btn_1); 

     result =(TextView) findViewById(R.id.result); 

     btn_1.setOnClickListener(this); 

    } 

    @Override 
    public void onClick(View v) { 
     float num1 = 0; 
     float num2 = 0; 
     float num3 = 0; 

     float result = 0; 

     if (TextUtils.isEmpty(fuelCost.getText().toString()) 
       || TextUtils.isEmpty(distance.getText().toString()) 
       || TextUtils.isEmpty(milesPerGallon.getText().toString())) { 
      return; 
     } 

     num1 = Float.parseFloat(fuelCost.getText().toString()); 
     num2 = Float.parseFloat(distance.getText().toString()); 
     num3 = Folat.parseFloat(milesPerGallon.getText().toString()); 

     switch (v.getId()) { 
     case R.id.btn_1: 
      result = ((num1 * 4.5461) * (num2/num3))/100; 
      break; 
     default: 
      break; 
     } 

     result.setText("£" + result); 
    }  
} 

} 당신은 아마 두 번같은 활동 파일 주요 활동을 선언하는

+0

당신이 더 clases이 있습니까를? –

+0

전체 클래스 코드를 넣을 수 있습니까? –

+1

http://stackoverflow.com/questions/9246246/nested-type-cannot-hide-an-enclosing-type http://stackoverflow.com/questions/15188196/errors-in-mainactivity-java 중 하나를 선택하고 확인하십시오. 코드에서 비슷한 오류를 발견 할 수 있다면. – zapl

답변

0

확인이 매우 간단하지만 난 당신이 프로그래밍에 새로운 가정, 그래서 다른 사람들이 당신이 아래의 코드에서 관찰 캔 싶지 :

package com.example.myfirstapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.text.TextUtils; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

    public class MainActivity extends Activity implements View.OnClickListener { 

     EditText mFuelCost; 
     EditText mDistance; 
     EditText mMilesPerGallon; 

     Button mBtn1; 

     TextView mResult; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      mFuelCost = (EditText) findViewById(R.id.fuelCost); 
      mDistance = (EditText) findViewById(R.id.distance); 
      mMilesPerGallon = (EditText) findViewById(R.id.milesPerGallon); 

      mBtn1 = (Button) findViewById(R.id.btn_1); 

      mResult =(TextView) findViewById(R.id.result); 

      mBtn1.setOnClickListener(this); 

     } 

     @Override 
     public void onClick(View v) { 
      float num1 = 0; 
      float num2 = 0; 
      float num3 = 0; 

      float result = 0; 

      if (TextUtils.isEmpty(mFuelCost.getText().toString()) 
        || TextUtils.isEmpty(mDistance.getText().toString()) 
        || TextUtils.isEmpty(mMilesPerGallon.getText().toString())) { 
       return; 
      } 

      num1 = Float.parseFloat(mFuelCost.getText().toString()); 
      num2 = Float.parseFloat(mDistance.getText().toString()); 
      num3 = Float.parseFloat(mMilesPerGallon.getText().toString()); 

      switch (v.getId()) { 
       case R.id.btn_1: 
        result = ((num1 * 4.5461f) * (num2/num3))/100; 
        break; 
       default: 
        break; 
      } 

      mResult.setText("£" + result); 
     } 
    } 
+0

비주얼없이 코드로 변경하는 데 고심하고 있었으므로 이것이 첫 번째 프로젝트이며 도움을 주시면 대단히 감사하겠습니다. –

+0

@RhysWindow 당신은 환영합니다 :) –

0

. 단순히 은 잘못된 선언 인을 제거합니다.

+0

다른 질문에 대한 동일한 질문을 검색하면 같은 결론이 도출됩니다. 같은 이름의 내부 클래스가 있어야합니다. –

+0

다른 MainActivity가 정의되어 있지만 제거하면 더 많은 오류가 발생합니다. –

+0

첫 번째 제거하면 작동합니다. 이러한 오류에 대한 작업은 단순한 오류입니다. 해결할 수 없다면 logcat을 게시하십시오. – Machado

관련 문제