2014-10-28 50 views
0

收到以下錯誤 類型不匹配:不能從android.support.v7.app.ActionBar.LayoutParams轉換爲android.app.ActionBar.LayoutParams得到錯誤,同時增加微調器操作欄的右側

LayoutInflater inflater = (LayoutInflater) getActionBar().getThemedContext().getSystemService(LAYOUT_INFLATER_SERVICE); 

      final View spinnerView = inflater.inflate(R.layout.layout_spinner, null); 
      Spinner spinner = (Spinner) spinnerView.findViewById(R.id.my_spinner); 
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Location, R.layout.spinner_item); 
      adapter.setDropDownViewResource(R.layout.spinner_dropdown_item); 
      spinner.setAdapter(adapter); 

//   spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
// 
//    @Override 
//    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
//     // Do whatever you want with your selected item. You can get it as: parent.getItemAtPosition(position); 
//    } 
// 
//    @Override 
//    public void onNothingSelected(AdapterView<?> parent) {} 
//   }); 

      getActionBar().setIcon(getResources().getDrawable(R.drawable.loc));//set your actionbar logo 
      getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE); 

      LayoutParams layoutParams = new ActionBar.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT); 
      layoutParams.gravity = Gravity.RIGHT; // set your layout's gravity to 'right' 
      getActionBar().setCustomView(spinnerView, layoutParams); //place your layout on the actionbar 

我在new ActionBar.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT);

收到錯誤,請幫助......我不能夠解決這個錯誤,因爲我是新到Android

+0

你已經導入了錯誤的行更改'import android.app.ActionBar.LayoutParams'到'import android.support.v7.app.ActionBar.LayoutParams' – 2014-10-28 07:17:20

+0

setCustomView(android.view.View,android.app.ActionBar .LayoutParams)類型的ActionBar不適用於參數(android.view.View,android.support.v7.app.ActionBar.LayoutParams)現在我得到這個錯誤 – anonymous 2014-10-28 07:23:39

+0

謝謝,我知道了..可以請你告訴我如何在頁面加載時將變量ny default的值添加到微調器 – anonymous 2014-10-28 09:14:34

回答

1

如果您正在使用支持jar然後更改

import android.app.ActionBar.LayoutParams 

import android.support.v7.app.ActionBar.LayoutParams 

如果不是,反之亦然。

+0

現在我得到這個錯誤類型ActionBar中的方法setCustomView(android.view.View,android.app.ActionBar.LayoutParams)不適用於參數(android.view.View,android。 support.v7.app.ActionBar.LayoutParams) – anonymous 2014-10-28 07:23:56

+0

您需要按照我在整個應用程序中的回答中的建議操作。在一個地方更改它將不起作用,因爲傳遞參數是一種類型,接收是另一種類型。您是否需要在應用程序中使用支持jar以實現向後兼容? – Rohit5k2 2014-10-28 07:25:07

+0

感謝我得到它..可以請你告訴我如何在頁面加載時將變量ny的默認值添加到微調器 – anonymous 2014-10-28 09:14:50

1

你必須輸入正確的LayoutParams

刪除:

import android.app.ActionBar.LayoutParams 

地址:

import android.support.v7.app.ActionBar.LayoutParams 

如果仍然出現異常,不要反之亦然

+0

類型ActionBar中的setCustomView(android.view.View,android.app.ActionBar.LayoutParams)方法不適用於參數(android.view。查看,android.support.v7.app.ActionBar.LayoutParams)...現在我得到這個錯誤 – anonymous 2014-10-28 07:24:16

+0

你使用支持庫?然後做反之亦然,並檢查 – 2014-10-28 07:25:32

+0

謝謝我得到它..你可以告訴我如何添加一個變量ny默認的值在頁面加載 – anonymous 2014-10-28 09:15:13