1
私はアンドロイドで新しいです、私はこの質問をする必要があります。アプリケーションからログアウトしてアンドロイドで更新するにはどうすればよいですか?
私は、TabLayoutを実装するいくつかのアンドロイドアプリケーションを作成します。そのため、すべてのアクティビティはアプリのすべてのタブで保持されます。 しかし、その前に、ログイン操作に直面する必要があります。
私はタブアクティビティにいるときにどのようにログアウトできますか、そのタブのすべてのアクティビティでどのように更新できますか?私は3つのタブを持って、私は "ログアウト"と "リフレッシュ"にメニューを実装し、また、 "約"のメニューがあります。 ここで私のサンプルコードはTabActivityですが、メニューをクリックすると、すべてのアクションでトーストが実装されます。
public class SampleTabActivity extends TabActivity {
private TabHost tabHost;
private Resources res;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.sipadutab);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
res = getResources(); // Resource object to get Drawables
tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
tabHost.setCurrentTab(0);
tabHost.setOnTabChangedListener(this); // set listener to tabhost IMPORTANT IMPORTANT
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, FirstActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("first").setIndicator("First",
res.getDrawable(R.drawable.one))
.setContent(intent);
tabHost.addTab(spec);
// Initialize a TabSpec for each tab and add it to the TabHost
intent = new Intent().setClass(this, SecondActivity.class);
spec = tabHost.newTabSpec("second").setIndicator("Second",
res.getDrawable(R.drawable.two))
.setContent(intent);
tabHost.addTab(spec);
// Initialize a TabSpec for each tab and add it to the TabHost
intent = new Intent().setClass(this, ThirdActivity.class);
spec = tabHost.newTabSpec("third").setIndicator("Third",
res.getDrawable(R.drawable.three))
.setContent(intent);
tabHost.addTab(spec);
// Initiating Menu XML file (menu.xml)
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.layout.menuscreen, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.menu_about:
// Single menu item is selected do something
// Ex: launching new activity/screen or show alert message
Toast.makeText(SampleTabActivity.this, "About is Selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_refresh:
Toast.makeText(SampleTabActivity.this, "Refresh is Selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu_logout:
Toast.makeText(SampleTabActivity.this, "Logout is Selected", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
ありがとうございます。
ありがとうございました。それは私の作品です。 :Dそして私はこれを追加します finish(); startActivity(新しいインテント( "android.mobile.yehoo.LoginActivity"));その後、どうやってリフレッシュできますか? – AdityaSetyadi
ログイン後、onCreate()と同じタブをもう一度追加します。 – Fedor
はい、私はそれがあなたが意味するものを得て、それはすでに私の上で動作します。私のもう一つの問題は、 "about"と "logout"の横に作成したメニューの "refresh"ボタンを押すだけで、どのようにしてそのタブのすべてのアクティビティをリフレッシュできますか。たとえば、私がSecondActivityを利用しているとき、私はそれをリフレッシュして、SecondActivityを再び開いて、FirstActivityとThirdActivityのときに開きたいと思います。 – AdityaSetyadi