2017-01-15 5 views
0

프로젝트에 포함하려는 외부 패키지 클래스 (내 사용자 정의 라이브러리)가 있습니다. Activity을 사용하지만 표시되는 것처럼 오류가 표시됩니다."오류 : 심볼 클래스 앱을 찾을 수 없습니다"

enter image description here

내가 주 프로젝트 클래스에서이 명령을, 그것은 무엇을 할 ... 잘 작동 배치하면? AndroidManifest.xml에

package com.__MyDefaultLibrary; 

import android.content.Intent; 
import android.content.SharedPreferences; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.os.Handler; 
import android.preference.PreferenceManager; 
import android.view.View; 
import android.view.animation.AlphaAnimation; 
import android.view.animation.Animation; 
import android.view.animation.LinearInterpolator; 
import android.view.animation.ScaleAnimation; 
import android.widget.*; 
import java.io.File; 
import java.util.Calendar; 
// 
import android.app.Activity; 
import com.oceanesa.samplevideorecorder.R; 


public class __MyDefaultFunctions{ 
    public android.app.Activity actv1 = android.app.Activity; 

    public void Initt(){ 
     PreferenceManager.setDefaultValues(actv1.getBaseContext(), R.xml.mypreferences, false); 
    } 

    // ========== MY CUSTOM LIBRARY =============// 
    //button find 
    public Button fvb(int id) { 
     return (Button) actv1.findViewById(id); 
    } 

    //message show 
    public void msg(String text) { 
     Toast.makeText(actv1.getApplicationContext(), text, Toast.LENGTH_LONG).show(); 
    } 

    public View.OnClickListener optionsListener2 = new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent i = new Intent(actv1.getBaseContext(), com.__MyDefaultLibrary.__MyDefaultPreferencesInit1.class); 
      actv1.startActivity(i); 
     } 
    }; 



} 

: 그리고 나는 그것이 도움으로 일하고있어

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.oceanesa.samplevideorecorder" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="16" 
     android:targetSdkVersion="19" /> 

    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-feature android:name="android.hardware.camera" /> 
    <uses-feature android:name="android.hardware.camera.autofocus" /> 
    <uses-feature 
     android:name="android.hardware.camera.front" 
     android:required="false" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape" 
     android:theme="@style/AppTheme" 
     > 
     <activity 
      android:name="com.oceanesa.samplevideorecorder.VideoCaptureExample" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

     </activity> 
     <activity 
      android:name="com.__MyDefaultLibrary.__MyDefaultPreferencesInit1" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN_ACTIVITY" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 
+0

코드 조각을 공유하십시오. –

+0

@MinaFawzy 질문의 맨 아래에 링크가 있습니다. –

+0

이 코드가 포함 된 Android Studio 프로젝트를 어떻게 만들었습니까? –

답변

1

업데이트 응답 그냥 클래스 마지막으로

public class MyClass { 

    private static Context mContext; 
    private static Activity mActivity; 
    public MyClass(Context c) { 
    mContext= c; 
    } 
public MyClass(Activity act) { 
    mActivity= act; 
    } 

    public static void showToastMethod() { 
     // then passing context or activity to 
     Toast.makeText(mContext, "mymessage ", Toast.LENGTH_SHORT).show(); 
     // or Toast.makeText(mActivity, "mymessage ", Toast.LENGTH_SHORT).show(); 
    } 

} 
+0

고마워,하지만 이해할 수 없다 ..'Activity'는'andoid.app' 패키지의 클래스입니다. 그리고 저는 저의 라이브러리에서 어떤 액티비티 클래스도 가지고 있지 않습니다. (무엇보다'ActivityName' 같은 것이 전혀 없습니다.) 내 메인 프로젝트 파일에는'class XYZ extends Activty'가 있습니다. –

+0

p.s. 두 파일 모두 성공적으로 가져 오지만 위의 예제 파일에서는 'unused import statement'를 보여줍니다. –

+1

그래서이 줄에서 무엇을하려하십니까? android.app.Activity actv1 = android.app.Activity ?? –

0

에 컨텍스트를 통과 여기

코드입니다 주제의 : How to display a Toast message in from a class that doesn't extend Activity

문제점은 제 코드에 있습니다. andorid.app으로 전화 할 필요가 전혀 없습니다.

public MyExternalClass myEx = new MyExternalClass(Activity); 

을 일부 수정이 필요 .. : 나는 아무것도 호출을 couldnt 곳에서

내가 (주 프로젝트 파일에서)이 같은 활동을 통과했다 .. 내 외부 파일로 Activity을 통과 didnt는

관련 문제