그래서 나는보기가 위젯 뷰 클래스에서 스레드를 시작 이 줄의 "ExpressionAngine"메시지 위젯 내에서 활동을 가져 오더라도 "DownloaderThread (UpdateActivity, ...)"활동 이름 (UpdateActivity)에 더 구체적으로 표시됩니다.안드로이드는
avo 이 ID는 여전히 스레드를 호출 할 수 있습니다.
아이디어는 RadialMenuWidget을 사용하고 RadialMenuWidget 클래스에서 어떤 메뉴 버튼을 눌렀는지 확인하고 그 결과에 따라 다음 작업을 결정합니다. 다른 의도를 호출하면 잘 작동하지만, 지금은 (내가 정기적 활동의 onButtonClick에서 호출 할 수있는) 별도의 스레드를 사용하여 파일을 다운로드 시작하려는
편집 그래서 내 radialMenu이 구조가 :
을public class RadialMenuWidget extends View {
...
public interface RadialMenuEntry {
...
}
public RadialMenuWidget(Context context) {
...
}
@Override
public boolean onTouchEvent(MotionEvent e) {
...
if (state == MotionEvent.ACTION_UP) {
...
if (menuEntries.get(i).getName() == "Update now") {
String urlInput = "http://myhost.com/"+mynewfile;
DownloaderThread downloaderThread = new DownloaderThread(this.UpdateActivity, urlInput);
downloaderThread.start();
}
}
...
는 그리고 DownloadThread 클래스는 다음과 같습니다
public class DownloaderThread extends Thread {
public DownloaderThread(UpdateActivity inParentActivity, String inUrl)
{
downloadUrl = "";
if(inUrl != null)
{
downloadUrl = inUrl;
}
parentActivity = inParentActivity;
}
@Override
public void run()
{
// does the download
}
...
}
도와주세요.
고마워요.
"DownloaderThread"의 서명은 무엇입니까? 'UpdateActivity'는 이름이고 참조는 아닙니다. – DeeV
더 나은 코드를 볼 수 있도록 좀 더 많은 코드 (EDITED)를 추가했습니다. 내가 무엇을해야하고 왜해야하는지 설명해주십시오. 고마워요 – user1137313
실제로 UpdateActivity에서 DownloaderThread를 호출했지만 지금은이 액티비티에 RadialMenuWidget을 추가하고 RadiaMenuWidget 클래스에있는 메뉴 항목을 클릭하여 다운로더를 호출하려고합니다 ... – user1137313