这是我的登录视图http://i.imgur.com/IfLIHFQ.jpg,成功登录将重定向到此页面http://i.imgur.com/4yv3KDv.jpg 但是,我希望活动在选项卡中继续,而不是启动新意图。 这是我描述它的方式 http://i.imgur.com/sH8HQC7.jpg (注意:最后一张照片只是一个经过编辑的Photoshop,以便为您提供我想要的样本)。很抱歉提出新手问题,感谢您的帮助。
这是我的代码: Tab1.java
public class Tab1 extends Activity {
String var_usr,var_pass;
EditText usr, psw;
JSONArray str_login = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.panel_login);
usr = (EditText) findViewById(R.id.txt_username);
psw = (EditText) findViewById(R.id.txt_pass);
Button submit = (Button) findViewById(R.id.btn_login);
submit.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
var_usr = usr.getText().toString();
var_pass = psw.getText().toString();
String stts = "";
String kode = "";
String link_url = "http://10.0.2.2/gollege/login.php?usr="+var_usr+"&psw="+var_pass;
com.bucheuw.gollege.portal.JSONParser jParser = new com.bucheuw.gollege.portal.JSONParser();
JSONObject json = jParser.AmbilJson(link_url);
try {
str_login = json.getJSONArray("statuslogin");
for(int i = 0; i < str_login.length(); i++){
JSONObject ar = str_login.getJSONObject(i);
TextView st = (TextView) findViewById(R.id.txt_alert);
String alrt = ar.getString("hasil");
stts = ar.getString("st");
kode = ar.getString("id");
st.setText(alrt);
usr.setText("");
psw.setText("");
if(stts.trim().equals("ok"))
{
Intent ni = null;
ni = new Intent(Tab1.this, com.bucheuw.gollege.portal.DashboardActivity.class);
Bundle b = new Bundle();
b.putString("par_kode", kode);
ni.putExtras(b);
startActivity(ni);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
DashboardAcitvity.java
public class DashboardActivity extends Activity {
public String nim;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.panel_dashboard);
Bundle b = getIntent().getExtras();
nim = b.getString("par_kode");
Button btn_datapribadi = (Button) findViewById(R.id.btn_datapribadi);
Button btn_ksm = (Button) findViewById(R.id.btn_ksm);
Button btn_jdwlkuliah = (Button) findViewById(R.id.btn_jdwlkuliah);
Button btn_absensi = (Button) findViewById(R.id.btn_absensi);
Button btn_nilai = (Button) findViewById(R.id.btn_nilai);
Button btn_tak = (Button) findViewById(R.id.btn_tak);
Button btn_ips = (Button) findViewById(R.id.btn_ips);
Button btn_jdwlujian = (Button) findViewById(R.id.btn_jdwlujian);
Button btn_pengumuman = (Button) findViewById(R.id.btn_pengumuman);
Button btn_klndr = (Button) findViewById(R.id.btn_klndr);
Button btn_logout = (Button) findViewById(R.id.btn_logout);
btn_datapribadi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), DataPribadiActivity.class);
startActivity(i);
}
});
btn_ksm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), KSMActivity.class);
startActivity(i);
}
});
btn_jdwlkuliah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), JadwalKuliahActivity.class);
startActivity(i);
}
});
btn_absensi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), AbsensiActivity.class);
startActivity(i);
}
});
btn_nilai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), NilaiActivity.class);
startActivity(i);
}
});
btn_tak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), TAKActivity.class);
startActivity(i);
}
});
btn_ips.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), IPSActivity.class);
startActivity(i);
}
});
btn_jdwlujian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), JadwalUjianActivity.class);
startActivity(i);
}
});
btn_pengumuman.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), InfoKampusActivity.class);
startActivity(i);
}
});
btn_klndr.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(), KalenderAkademikActivity.class);
startActivity(i);
}
});
btn_logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent exit = new Intent(Intent.ACTION_MAIN);
exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
DashboardActivity.this.finish();
}
});
}
答案 0 :(得分:0)
在创建tabhost的父活动类中,我实现了如下所示的方法:
public void switchTab(int tab){
tabHost.setCurrentTab(tab);
}
在我希望能够在内部切换到另一个标签的标签内,我创建了以下方法:
public void switchTabInActivity(int indexTabToSwitchTo){
MintTrack ParentActivity;
ParentActivity = (MintTrack) this.getParent();
ParentActivity.switchTab(indexTabToSwitchTo);
}
如果您想了解此代码的一个很好的示例,可以查看我的MintTrack项目here和here。
作为旁注,在决定是否使用基于TabHost的视图或活动时请务必小心。
基于活动的选项卡很棒,因为它们可以分成自己的XML文件。活动也可以组织到自己的Java文件中,而不是混杂在一起。可以说,你会想到的一些事情很容易变得复杂,基于活动的标签。很难在标签之间传递信息而不会产生开销。基于活动的选项卡还使用更多的内存/ CPU时间,因为它们具有围绕每个选项卡的活动开销。在深入使用基于活动的TabHost之前,请考虑这个以及更多的权衡。我现在知道,如果再次使用它,我会亲自使用基于TabHost的视图。