0
我詢問是否有人可以幫我解決我的問題,那就是我在java類中有一個自定義對話框。這個自定義對話框有一個按鈕,當按下它時會調用我的活動類中的一個方法。當我運行代碼時什麼都沒有發生,似乎這個方法從來沒有被調用,也沒有給出任何錯誤,因爲我嘗試這種方法的原因是因爲Java類被用於overlayitems。下面是代碼的SNIPPIT我有,歡呼聲給任何人overlayitem來自java類的調用活動方法
public boolean onTap(int index) {
OverlayItem item = mapOverlays.get(index);
Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialog);
dialog.setTitle(item.getTitle());
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText(item.getSnippet());
Button CallButton = (Button) dialog.findViewById(R.id.CallButton);
CallButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try {
TheActivityClass.showMessage();
} catch (Exception e) {
// TODO Auto-generated catch block
}
}
}
);
dialog.show();
return true;
}
活動課
public void showMessage(){
Context context = getApplicationContext();
CharSequence text = "I have just been pressed";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
通過在showMessage中寫入一些日誌語句或sysout語句來檢查它,並檢查它們是否反映在logcat中。 – 2012-03-16 14:32:57
從記錄一些東西開始捕捉。那麼認爲你是靜態調用一個非靜態方法。最後,試着看看你對視圖中的活動可能有什麼參考(上下文,可能是?) – njzk2 2012-03-16 14:36:11
你能編譯它嗎?看起來像你試圖調用一個靜態(類)方法,但只有一個實例方法聲明。 – tidbeck 2012-03-16 14:43:14