我正在開發Android應用程序和應用程序有行動欄包含刷新按鈕和溢出菜單和下面有兩個堆棧選項卡的操作欄。當我點擊刷新按鈕單個選項卡將刷新該任務我想從外部類使用意圖調用內部類,所以我可以從服務器刷新內部類。
當我嘗試從外部類使用意圖調用內部類我遇到異常像ActivityNotfound異常,但我已經在清單解決後提到內部類。我嘗試了很多方法,但沒有奏效。
如何在Android中使用intent在外部類中調用內部類?
下面是我的階級結構
public class Fragment extends SherlockFragmentActivity {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tab = actionBar.newTab().
setText("Tab1").
setTabListener(new Tab1())
;
actionBar.addTab(tab);
tab = actionBar.newTab().
setText("Tab2").
setTabListener(new Tab2())
;
actionBar.addTab(tab);
//I am tried number ways to refesh the particlar tab but not achieve my goal
public void Refresh() {
/* I am also write Refresh method on individual tab and call from
onOptionsItemSelected but not working*/
Intent href = new Intent(Fragment.this,
Tab1.class);
startActivity(href);
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_refresh:
Refresh();
return true;
default:
break;
}
}
//inner class for tab first
public class Tab1 extends SherlockListFragment implements ActionBar.TabListener{
// here implementating the TabListener method
//here I am loading the list from server
private class LoadProjects extends AsyncTask<String, String, String> {
//call webservice
}
}
// inner class for tab second
public class Tab2 extends SherlockListFragment implements ActionBar.TabListener{
// here implementating the TabListener method
//here I am loading the list from server
private class LoadProjects extends AsyncTask<String, String, String> {
//call webservice
}
}
}
AndroidManifest.xml中
<application>
<activity
android:name="com.ojaswitech.bookingscape.Fragment"
android:configChanges="orientation|keyboardHidden"
android:label=""
android:logo="@drawable/action_bar_logo"
android:theme="@style/Theme.New_theme_bs" >
</activity>
<activity
android:name="com.ojaswitech.bookingscape.Fragment$Tab1"
android:configChanges="orientation|keyboardHidden" >
</activity>
<activity
android:name="com.ojaswitech.bookingscape.Fragment$Tab2"
android:configChanges="orientation|keyboardHidden" />
</application>
請人幫助我如何做上述任務。 在此先感謝
幫助的TAB1類不是一個活動,而是一個片段。 startActivity方法僅適用於活動。 片段在FragmentManager的幫助下顯示。 – thaussma
@Herrmann你有什麼解決方案嗎? –