활동에서 확장되는 다른 클래스의 메서드 사용

Shachar87

활동에서 확장하는 다른 클래스의 메서드를 사용하는 데 문제가 있습니다. 모든 단일 활동에서 반복해야하는 코드가 있으므로이 코드로 클래스를 만들었고 다른 클래스에서 메서드를 사용하려고하면 오류가 발생합니다.

첫번째 교시:

public class first extends Activity
    public void onCreate(){
        second s = new second();
        s.myMethod();
    }

이급:

public class second extends Activity
    public void myMethod(){}

이런 식으로 NullPointerExption을 얻습니다.

첫번째 교시:

public class first extends Activity
    public void onCreate(){
        Context context = getApplicationContext();
        second s = ((second)context);
        s.myMethod(context );
    }

이급:

public class second extends Activity
    Context context ;
    public void myMethod(Context context){
        this.context = context;
    }

이렇게하면 InvocationTargetException이 발생합니다.

이것은 내 코드입니다.

MainActivity-퍼스트 클래스 :

public class MainActivity extends Activity {

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


    public void ClickMe(View  V) {
        Toast.makeText(this, "ClickMe", Toast.LENGTH_SHORT).show();
        Context context = getApplicationContext();
        menuSetup myMenu = ((menuSetup)context);
        myMenu.SetMenuListView();

    }
    @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;
    }

    public boolean onOptionsItemSelected(MenuItem item) {// Action Bar buttons
        switch (item.getItemId()) {
        case R.id.action_settings:
            SlidingDrawer myS = (SlidingDrawer) findViewById(R.id.slidingDrawer1);
            myS.animateToggle();
            break;
        }
        return super.onOptionsItemSelected(item);
    }
}

menulList-2 등석 :

public class menuSetup extends Activity {
    MenuAdapter adapter;
    ListView myList;
    int myPosiition;

    public void SetMenuListView() {
        myList = (ListView) findViewById(R.id.listView1);
        adapter = new MenuAdapter(this);
        myList.setAdapter(adapter);

        myList.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v,  int position, long id) {
                myPosiition = position;
                StartActivityMethod();

            }
        });

    }

    private void StartActivityMethod() {
        switch (myPosiition) {
        case 0:
            Intent item2 = new Intent(this, Item2.class);
            startActivity(item2);
            finish();
            break;
        case 1:
            Intent item3 = new Intent(this, Item3.class);
            startActivity(item3);
            finish();
            break;
        case 2:
            Toast.makeText(this, "Missing Page", Toast.LENGTH_SHORT).show();
            break;

        }
    }

}
라구 난단

Activity 클래스의 인스턴스를 만들면 안됩니다. 일반 수업이 아닙니다. 자체 수명주기가 있습니다. 매니페스트에서만 활동을 선언했습니다.

대신 Uitlity 클래스를 만들고 Context를 Utility 클래스의 생성자에 전달하고 거기에서 사용할 수 있습니다.

Raghav Sood 인용

활동을 일반 Java 클래스로 처리하면 널 컨텍스트가됩니다. Activity의 대부분의 메서드가 해당 컨텍스트에서 호출되므로 null 포인터 예외가 발생하므로 앱이 충돌합니다.

다른 클래스에서 활동의 개체를 만들 수 있습니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 다른 클래스에서 동일한 add () 메서드를 사용하는 방법

분류에서Dev

Rails-두 번째 클래스의 하나의 속성이있는 다른 클래스 메서드의 클래스 메서드 사용

분류에서Dev

다른 클래스에서 컨트롤러 클래스의 메서드 사용

분류에서Dev

Flutter에서 다른 사용자 정의 클래스를 확장하는 클래스 생성

분류에서Dev

다른 클래스 메서드를 사용하는 C #

분류에서Dev

Mockito는 동일한 클래스의 다른 테스트 메서드에서 메서드 스터 빙을 사용합니다.

분류에서Dev

활동을 시작하고 다른 클래스를 사용하여 해당 클래스의 메서드를 호출하는 방법

분류에서Dev

클래스 메서드 내에서 이벤트 리스너를 사용하여 정의되지 않은 다른 클래스 메서드 호출

분류에서Dev

활동없이 다른 클래스 파일에서 Toast를 사용하면 Android가 확장됩니다.

분류에서Dev

활동을 확장하지 않는 클래스에서 의도 사용

분류에서Dev

파생 클래스에서 다른 메서드를 사용하는 다형성

분류에서Dev

C ++ 클래스를 만들고 ndk android의 JNI 메서드를 포함하는 다른 C ++ 클래스에서 해당 클래스를 사용합니다.

분류에서Dev

Java 다른 클래스의 인스턴스를 사용하여 메서드에 액세스하는 방법

분류에서Dev

다른 클래스의 메서드 내에서 한 클래스의 메서드 사용

분류에서Dev

Java-다른 클래스의 메서드 사용

분류에서Dev

활동 메서드는 다른 클래스에서 Android의 oncreate 전에 호출됩니다.

분류에서Dev

다른 클래스에서 사용하는 메서드에서 부모 클래스 변수에 액세스

분류에서Dev

다른 .py에서 사용하는 클래스 및 메서드를 모의하는 방법

분류에서Dev

파이썬의 다른 클래스에서 다른 클래스 메서드 값을 사용하는 방법은 무엇입니까?

분류에서Dev

UIView 및 하위 클래스의 다른 메서드를 사용하는 동일한 속성

분류에서Dev

다른 클래스의 메서드에서 한 클래스의 메서드에 액세스하는 모범 사례

분류에서Dev

다른 클래스의 공용 메서드에 액세스

분류에서Dev

리플렉션을 사용하여 단일 유틸리티 메서드에서 클래스의 다른 메서드를 호출하는 가장 좋은 방법

분류에서Dev

Java에서 다른 클래스의 set 메소드를 사용하는 방법은 무엇입니까?

분류에서Dev

다른 Android 활동 클래스에서 자체 클래스 사용

분류에서Dev

동일한 모듈 내의 다른 클래스에서 클래스가 사용되었는지 어떻게 확인합니까?

분류에서Dev

다른 클래스 메서드에서 클래스 함수를 매개 변수로 사용하는 방법

분류에서Dev

다른 클래스의 메서드에서 한 클래스의 객체를 사용하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에 소품으로 전달되는 동일한 클래스의 다른 메서드에서 메서드에 액세스

Related 관련 기사

  1. 1

    두 개의 다른 클래스에서 동일한 add () 메서드를 사용하는 방법

  2. 2

    Rails-두 번째 클래스의 하나의 속성이있는 다른 클래스 메서드의 클래스 메서드 사용

  3. 3

    다른 클래스에서 컨트롤러 클래스의 메서드 사용

  4. 4

    Flutter에서 다른 사용자 정의 클래스를 확장하는 클래스 생성

  5. 5

    다른 클래스 메서드를 사용하는 C #

  6. 6

    Mockito는 동일한 클래스의 다른 테스트 메서드에서 메서드 스터 빙을 사용합니다.

  7. 7

    활동을 시작하고 다른 클래스를 사용하여 해당 클래스의 메서드를 호출하는 방법

  8. 8

    클래스 메서드 내에서 이벤트 리스너를 사용하여 정의되지 않은 다른 클래스 메서드 호출

  9. 9

    활동없이 다른 클래스 파일에서 Toast를 사용하면 Android가 확장됩니다.

  10. 10

    활동을 확장하지 않는 클래스에서 의도 사용

  11. 11

    파생 클래스에서 다른 메서드를 사용하는 다형성

  12. 12

    C ++ 클래스를 만들고 ndk android의 JNI 메서드를 포함하는 다른 C ++ 클래스에서 해당 클래스를 사용합니다.

  13. 13

    Java 다른 클래스의 인스턴스를 사용하여 메서드에 액세스하는 방법

  14. 14

    다른 클래스의 메서드 내에서 한 클래스의 메서드 사용

  15. 15

    Java-다른 클래스의 메서드 사용

  16. 16

    활동 메서드는 다른 클래스에서 Android의 oncreate 전에 호출됩니다.

  17. 17

    다른 클래스에서 사용하는 메서드에서 부모 클래스 변수에 액세스

  18. 18

    다른 .py에서 사용하는 클래스 및 메서드를 모의하는 방법

  19. 19

    파이썬의 다른 클래스에서 다른 클래스 메서드 값을 사용하는 방법은 무엇입니까?

  20. 20

    UIView 및 하위 클래스의 다른 메서드를 사용하는 동일한 속성

  21. 21

    다른 클래스의 메서드에서 한 클래스의 메서드에 액세스하는 모범 사례

  22. 22

    다른 클래스의 공용 메서드에 액세스

  23. 23

    리플렉션을 사용하여 단일 유틸리티 메서드에서 클래스의 다른 메서드를 호출하는 가장 좋은 방법

  24. 24

    Java에서 다른 클래스의 set 메소드를 사용하는 방법은 무엇입니까?

  25. 25

    다른 Android 활동 클래스에서 자체 클래스 사용

  26. 26

    동일한 모듈 내의 다른 클래스에서 클래스가 사용되었는지 어떻게 확인합니까?

  27. 27

    다른 클래스 메서드에서 클래스 함수를 매개 변수로 사용하는 방법

  28. 28

    다른 클래스의 메서드에서 한 클래스의 객체를 사용하는 방법은 무엇입니까?

  29. 29

    다른 클래스에 소품으로 전달되는 동일한 클래스의 다른 메서드에서 메서드에 액세스

뜨겁다태그

보관