2017-07-07 9 views
0

フラグメントXMLにあるボタンをクリックすると非表示になります。共有プリファレンスでは、アプリケーションをアンインストールするまで非表示になります。しかし、私はエラーが発生しています。 'android.widget.buttonの未知のメソッドsetVisibility'と 'btnsearch変数は、ローカルクラスで使用するためにfinalでなければなりません'。フラグメントをクリックしてボタンを非表示にして、いつでも共有設定で表示します。

setVisibility()がint、ないを望んでいる

final Button btnsearch = (Button) rootView.findViewById(R.id.btnsearch); 
final SharedPreferences sharedPreferences = this.getActivity().getSharedPreferences("pref", 0); 

EDIT:あなたはあなたがそれらを最終確認する必要があり、匿名内部クラスでこれらの2つの変数をアクセスする場合

package com.niezwm.bododictionary.fragments; 

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.widget.Toast; 
import android.view.ViewGroup; 
import android.widget.Button; 
import android.content.Context; 
import android.content.SharedPreferences; 
import com.niezwm.bododictionary.R; 


public class SearchFragment extends Fragment{ 

SharedPreferences sharedPreferences; 
Button btnsearch; 



public SearchFragment() { 
// Required empty public constructor 
} 

@Override 
public void onCreate(Bundle  savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 
@Override 
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){ 
View rootView = inflater.inflate(R.layout.fragment_search, container,false); 
Button btnsearch =(Button) rootView.findViewById(R.id.btnsearch); 
SharedPreferences sharedPreferences =this.getActivity().getSharedPreferences("pref",0); 
btnsearch.setVisiblity(sharedPreferences.getBoolean("visiblity",false)); 
     btnsearch.setOnClickListener(new View.OnClickListener(){ 
@Override 
public void onClick(View view){ 
if(
         btnsearch.getVisibility()==View.INVISIBLE){ 
     btnsearch.setVisibility(View.VISIBLE); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
        editor.putBoolean("visiblity",true) 
         .commit(); 
         } 
        Toast.makeText(getActivity(), "search", Toast.LENGTH_LONG).show(); 
} 
// end onClick 
}); 
return rootView; 
} 
// end onCreateView 
} 

答えて

0

:ここに私のコードですブール値

boolean visibility = sharedPreferences.getBoolean("visiblity", false); 
btnsearch.setVisibility(visibility ? View.VISIBLE : View.GONE); 
+0

setVisibilityでもエラーが発生しています – Niezwm

+0

setVisibilityは、ブール値ではなくint型を入力とします。 sharedPreferencesから取得するブール値に基づいて可視性を設定します。 –

+0

私のコードを編集してください、あなたの修正を追加してください、ありがとう。 – Niezwm

関連する問題