2016-11-30 2 views
2

주 활동의 컨텍스트를 다른 클래스에 전달하여 토스트를 만들고 싶습니다.컨텍스트를 전달하는 방법은 무엇입니까?

내 주요 활동은 파일을 삭제할 클래스를 호출합니다. 파일을 삭제하는 클래스는 파일이 없으면 토스트를 호출합니다.

public class MyActivity extends AppCompatActivity 
{ 
    public void onCreate(Bundle savedInstanceState) 
    { 
    // create a file 

    Button buttoncreate = (Button)findViewById(R.id.create_button); 

    Button buttondelete = (Button)findViewById(R.id.delete_button); 
    ... 

    buttondelete.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      new DeleteFile(); 
     } 
    }); 
} 

public class DeleteFile extends AsyncTask { 

@Override 
public Object doInBackground(Object[] params) { 
    File root = android.os.Environment.getExternalStorageDirectory(); 
    File dir = new File(root.getAbsolutePath() + "/mydir"); 
    if (!(dir.exists())) { 
     CharSequence text = "Files do not exist!"; 
     int duration = Toast.LENGTH_SHORT; 
     Toast toast = Toast.makeText(getApplicationContext(), text, duration); 
     toast.show(); 

    } else { 
     File file; 
     file = new File(dir, "mydata.bmp"); 
     file.delete(); 
    } 
    return(1); 
} 

} 
+0

... 어떻게 클래스의 작성 중에 값을 전달할 수 있습니다? –

+1

누군가 질문에 투표 한 이유가 확실하지 않습니다. 그러나 나는 그들이 우리보다 훨씬 똑똑하다고 확신한다. 나는 그것을 보상했다. – eric

답변

4

는 우선, 당신은 응용 프로그램 클래스에서 전역 변수를 선언하는 정적 변수가 필요합니다, 당신은이 클래스를 설정할 필요는이

class GlobalClass extends Application { 

    public static Context context; 

    @Override 
    public void onCreate() { 
    super.onCreate(); 
    context = getApplicationContext(); 
    } 

    } 

초 같은
: 여기

내 코드입니다 AndroidManifest.xml 애플리케이션 태그

당신은이 데이터에 액세스하여 응용 프로그램 개체를 얻을 필요 whereever210
<application 
    android:name=".GlobalClass" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Black.NoTitleBar" > 

는 :

내가 doinbackgroud를 사용
Toast toast = Toast.makeText(GlobalClass.context, text, duration); 
    toast.show(); 
+5

무례한 대신 OP를 실제로 돕는 누군가를 만나서 기뻐. – cuoka

+0

알아, 맞지?!? – eric

관련 문제