2017-07-31 43 views
0

我想將ActionBar設置爲android中的選項卡活動。我嘗試了很多。 但是不能解決這個問題。我正在使用Tab活動,我想在Tabhost上方顯示操作欄。我如何在此活動中添加操作欄?在android的TabHost Activity中設置Actionbar?

我使用了Android工作室和SDK是25

這裏是我的代碼:

package com.example.lenovo.monitoringapp; 
import android.app.TabActivity; 
import android.content.DialogInterface; 

import android.content.Intent; 
import android.support.v7.app.AlertDialog; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.ArrayAdapter; 
import android.widget.TabHost; 
import android.widget.TabWidget; 
import android.widget.Toast; 
import android.widget.TabHost.TabSpec; 

public class KwhActivity extends TabActivity { 

    TabHost TabHostWindow; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_kwh); 
     TabHostWindow = (TabHost) findViewById(android.R.id.tabhost); 

     TabSpec TabMenu1 = TabHostWindow.newTabSpec("Graph"); 
     TabSpec TabMenu2 = TabHostWindow.newTabSpec("Data List"); 

     TabMenu1.setIndicator("Graph"); 
     Intent intent = new Intent(KwhActivity.this, GraphActivity.class); 
    // intent.putExtra("uname", username); 
     // Set tab 1 activity to tab 1 menu. 
     TabMenu1.setContent(intent); 

     // Setting up tab 2 name. 
     TabMenu2.setIndicator("Data List"); 
     Intent i1 = new Intent(KwhActivity.this, DataListActivity.class); 

     // i1.putExtra("uname", username); 
     // Set tab 3 activity to tab 1 menu. 
     TabMenu2.setContent(i1); 


     TabHostWindow.addTab(TabMenu1); 
     TabHostWindow.addTab(TabMenu2); 
    } 






    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.kwhactivity, menu); 
     return true; 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case R.id.action_other1: 

       AlertDialog.Builder builderSingle = new AlertDialog.Builder(KwhActivity.this); 
       builderSingle.setIcon(R.drawable.calender); 
       builderSingle.setTitle("Select"); 

       final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(KwhActivity.this, android.R.layout.select_dialog_item); 
       arrayAdapter.add("Today"); 
       arrayAdapter.add("Yesterday"); 
       arrayAdapter.add("Week"); 
       arrayAdapter.add("30 Days"); 
       arrayAdapter.add("Year"); 

       builderSingle.setNegativeButton("cancel", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 
        } 
       }); 

       builderSingle.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         String strName = arrayAdapter.getItem(which); 

         if(strName == "Today") 
         { 
          Toast.makeText(KwhActivity.this, "Today!", 
            Toast.LENGTH_LONG).show(); 
         } 

        } 
       }); 
      builderSingle.show(); 
      break; 
     default: 
      break; 
    } 

    return false; 
} 
} 

這裏是activity_main.xml中文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#ffffff"> 

    <TabHost 
     android:id="@android:id/tabhost" 
     android:layout_width="match_parent" 
     android:scrollbars="vertical" 
     android:background="@drawable/rounded_edittext" 
     android:layout_marginTop="10dp" 
     android:layout_marginEnd="10dp" 
     android:layout_marginStart="10dp" 
     android:layout_height="30dp" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 
      </TabWidget> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 
      </FrameLayout> 
     </LinearLayout> 
    </TabHost> 
    </RelativeLayout> 
+0

TabHost已棄用! –

+0

關注此[android-material-design-working-with-tabs](https://www.androidhive.info/2015/09/android-material-design-working-with-tabs/)它肯定會幫助你 –

回答

1

使用工具欄上面TabHost通過使用下面的代碼;

<android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 
+0

謝謝... Vishal –

+0

這是我的榮幸.... –