0
我目前有一個帶有5個選項卡的tabhost。在其中一個選項卡中,我有一個ImageView,當創建選項卡時,它通過POST提取數據以顯示數字。我想知道如何從一個選項卡活動(比如說Rate.java)我可以調用該方法來更新該標籤上的ImageView。更新從另一個活動tabhost imageView
我知道這不是很具體,但我認爲我寫了它,所以你知道我在說什麼。
讓我知道你是否需要任何信息。
talitore
我目前有一個帶有5個選項卡的tabhost。在其中一個選項卡中,我有一個ImageView,當創建選項卡時,它通過POST提取數據以顯示數字。我想知道如何從一個選項卡活動(比如說Rate.java)我可以調用該方法來更新該標籤上的ImageView。更新從另一個活動tabhost imageView
我知道這不是很具體,但我認爲我寫了它,所以你知道我在說什麼。
讓我知道你是否需要任何信息。
talitore
根據所給出的信息,即馬上想到的兩個選項是:
Activity
),它將自定義偵聽器接口與更新方法結合使用。讓您的選項卡活動擴展該BaseActivity,並使用您的ImageView執行活動。然後,您可以從您的選項卡活動中調用偵聽器的更新方法(將它們實例化爲BaseActivity並傳遞偵聽器),並使用ImageView對該活動進行操作。每個請求//編輯:
一個很好的起點有關的廣播和接收器信息是爲BroadcastReceiver
的文檔。在你的情況下,最簡單的方法就是在代碼中創建它們。
一個最小的例子將包含類似如下:
BroadcastSendingActivity:
public class BroadcastSendingActivity extends Activity {
public static final String UPDATE_IMAGEVIEW = "UPDATE_IMAGEVIEW";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sender);
Intent i = new Intent();
i.setAction(UPDATE_IMAGEVIEW);
sendBroadcast(i);
}
}
BroadcastReceivingActivity:
public class BroadcastReceivingActivity extends Activity {
private BroadcastReceiver mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.receiver);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver();
}
@Override
protected void onResume() {
super.onResume();
registerReceiver();
}
private void registerReceiver() {
if (mReceiver == null) {
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(BroadcastSendingActivity.UPDATE_IMAGEVIEW)) {
// code to update imageview...
}
}
};
}
getApplicationContext().registerReceiver(mReceiver, new IntentFilter(BroadcastSendingActivity.UPDATE_IMAGEVIEW));
}
private void unregisterReceiver() {
if (mReceiver != null) {
getApplicationContext().unregisterReceiver(mReceiver);
}
}
}
請注意,我沒有測試代碼,但我相信您能夠找出我可能犯的任何錯誤。 :)
我會接受你的第一個選項作爲我的答案。請您詳細說明一下嗎?也許有一個易於實現的東西的鏈接,你知道的作品?我會做我的研究。感謝您的時間。 –
我已經添加了一些代碼片段來說明這個想法。 'BroadcastSendingActivity'將在創建時發送一個廣播,它將被'BroadcastReceivingActivity'接收(假設它在發送廣播之前已經註冊爲接收器)。在你的情況下,選項卡的活動將是發件人,而主辦imageview的活動則是接收者。 –
爲了驗證,我必須將Rate.java和BroadcastReceivingActivity中的BroadcastSendingActivity子類添加到具有tabhost的活動中? –