gpt4 book ai didi

android - 标签栏 : on click go to home screen

转载 作者:行者123 更新时间:2023-11-30 03:55:18 25 4
gpt4 key购买 nike

我正在使用标签栏。我在每个选项卡中有超过三个屏幕,当我按下所选选项卡的选项卡按钮时,它应该转到该选项卡的第一个屏幕,但它没有。
这是我的 tabar 代码。

public class TabUi extends TabActivity {
private static final String TAG_DEALS = "DEAL";
private static final String TAG_SEARCH = "SEARCH";
private static final String TAG_BOOKMARKS = "ALERTS";
private static final String TAG_FRIENDS = "BUZZ";
private static final String TAG_MORE = "MORE";
/*
* private static final String TAG_DEALS = ""; private static final String
* TAG_SEARCH = ""; private static final String TAG_BOOKMARKS = ""; private
* static final String TAG_FRIENDS = ""; private static final String
* TAG_MORE ="";
*/
protected LocationManager locationManager;
Location location;
private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1; // in
// Meters
private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1000; // in
// Milliseconds

// private TabHost host = null;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();

TabHost tabHost = getTabHost();

TabHost.TabSpec spec;

Intent intent;

intent = new Intent().setClass(this, DealsActivityGroup.class);
spec = tabHost.newTabSpec(TAG_DEALS)
.setIndicator(TAG_DEALS, res.getDrawable(R.drawable.deal_icon))
.setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, SearchActivityGroup.class);
spec = tabHost
.newTabSpec(TAG_SEARCH)
.setIndicator(TAG_SEARCH,
res.getDrawable(R.drawable.search_icon))
.setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, BookmarksActivityGroup.class);
spec = tabHost
.newTabSpec(TAG_BOOKMARKS)
.setIndicator(TAG_BOOKMARKS,
res.getDrawable(R.drawable.bookmark_icon))
.setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, FriendsActivityGroup.class);
spec = tabHost
.newTabSpec(TAG_FRIENDS)
.setIndicator(TAG_FRIENDS,
res.getDrawable(R.drawable.friend_icon))
.setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, MoreActivity.class);
spec = tabHost.newTabSpec(TAG_MORE)
.setIndicator(TAG_MORE, res.getDrawable(R.drawable.more_icon))
.setContent(intent);
tabHost.addTab(spec);
}

/*@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

}*/

}

这是标签 Activity 组的代码:

public class DealsActivityGroup extends ActivityGroup {

public static DealsActivityGroup group;
private ArrayList<View> history;
private ProgressDialog pDialog;
String Url;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.history = new ArrayList<View>();
group = this;

}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
// new DealsFirst().execute();
View view = getLocalActivityManager().startActivity(
"Dealsfirstactivity",
new Intent(DealsActivityGroup.this, Dealsfirstactivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();

replaceView(view);
}

public void replaceView(View v) {
// Adds the old one to history
history.add(v);
v.setFocusable(true);
v.setFocusableInTouchMode(true);
v.requestFocus();

// Changes this Groups View to the new View.
setContentView(v);
}

public void back() {

System.out.println("History size: " + history.size());
if (history.size() > 1) {
history.remove(history.size() - 1);
View v = history.get(history.size() - 1);
System.out.println("If size: " + history.size());
v.setFocusable(true);
v.setFocusableInTouchMode(true);
v.requestFocus();
System.out.println("View : " + v);
setContentView(v);

} else
// System.out.println("History size: "+ history.size());
this.finish();
}

@Override
public void onBackPressed() {
DealsActivityGroup.group.back();
return;
}

public class DealsFirst extends AsyncTask<String, String, String> {

/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
// pDialog = new ProgressDialog(Dealsfirstactivity.this);
// pDialog.setMessage("Please wait!..");
// pDialog.setIndeterminate(false);
// pDialog.setCancelable(true);
// pDialog.show();
}

protected String doInBackground(String... args) {
if (StorageManager.Instance().GetdealscategoryData() == null) {
ServiceHelper.Instance().Dealscategorylist();
}
return null;

}

/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String result) {
// dismiss the dialog once done
super.onPostExecute(result);

if (StorageManager.Instance().GetdealscategoryData() != null
&& StorageManager.Instance().GetdealscategoryData().size() > 0) {
new Dealslistfirst().execute();

}
}

}

public class Dealslistfirst extends AsyncTask<String, String, String> {

/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(getDialogContext());
pDialog.setMessage("Please wait!..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}

protected String doInBackground(String... args) {

ServiceHelper.Instance().dealsforyoulist(Url);
return null;

}

/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String result) {
// dismiss the dialog once done
super.onPostExecute(result);

if (StorageManager.Instance().GetdealsData() != null
&& StorageManager.Instance().GetdealsData().size() > 0) {

// runOnUiThread(action)

} else if (StorageManager.Instance().GetdealsData() == null) {

}
if (pDialog.isShowing()) {
pDialog.dismiss();
}

View view = getLocalActivityManager().startActivity(
"Dealsfirstactivity",
new Intent(DealsActivityGroup.this,
Dealsfirstactivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();

replaceView(view);
}

}

private Context getDialogContext() {
Context context;
if (getParent() != null)
context = getParent();
else
context = this;
return context;
}
}

最佳答案

TabActivity 可以识别您何时切换标签(从一个标签切换到另一个标签),但无法识别您是否选择了当前标签。

I am working with tab bar. I have more then three screens in each tab and when I press the tab button of selected tab, it should go to first screen of that tab, but it doesn't go.

为此,您需要在 TabActivity 中实现 onTouchListener

请引用此链接以解决您的问题。 get notified when current tab is selected

关于android - 标签栏 : on click go to home screen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451202/

25 4 0