-2

私はアンドロイドのフラグメントに新しく、フラグメントの状態の単純なリストを作成しますが、エラーが発生します。フラグメントエラーのカスタムリストビュー

:ここ

は、ここに私のlist_fragment.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/list"/> 
    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/empty"/> 

</LinearLayout> 

はここに私のゲッターである。ここでセッター

public class RowItem { 
    private String title; 

    public RowItem(String title) 
    { 
     this.title=title; 
    } 


    public String getTitle() 
    { 
     return title; 
    } 

    public void setTitle() 
    { 
     this.title=title; 
    } 
} 

は私CustomAdapterです私list_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/mytitle"/> 

</RelativeLayout> 

です

し、最終的にMyListFragmentクラス

public class MyListFragment extends ListFragment 
{ 

    CustomAdapter customAdapter; 
    private List<RowItem> rowItems; 
    public MyListFragment() 
    { 

    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     return inflater.inflate(R.layout.list_fragment,container,false); 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

     //data 
     getStateData(); 

     customAdapter=new CustomAdapter(getActivity(),rowItems); 
     setListAdapter(customAdapter); 

    } 

    //state web service data 
    private void getStateData() 
    { 
     final ProgressDialog pd=ProgressDialog.show(getActivity(),"Loading State","Please wait",false); 

     StringRequest stateRequest=new StringRequest(Request.Method.POST, "http://resalerental.com/webservice/findstate.php" 
       , new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       pd.dismiss(); 
       //Toast.makeText(getActivity(), ""+response, Toast.LENGTH_SHORT).show(); 
       getStateSpinner(response); 

      } 
     }, new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       pd.dismiss(); 
       Toast.makeText(getActivity(), ""+error.toString(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     RequestQueue stateQueue= Volley.newRequestQueue(getActivity()); 
     stateQueue.add(stateRequest); 
    } 

    private void getStateSpinner(String state) 
    { 
     ParseJson parseJson=new ParseJson(state); 
     parseJson.parseState(); 

     rowItems=new ArrayList<RowItem>(); 

     for (int i=0;i<ParseJson.state_name.length;i++) 
     { 
      RowItem Item=new RowItem(ParseJson.state_name[i]); 

      rowItems.add(Item); 
     } 
    } 

} 

は、上記のウェブサイト上で与えられた例です。私はこのMyFragmentListFragmentManagerを使って呼び出すときに間違った引数型が渡されるというエラーが出ます。

ここで私は親切に私は何をすべきかを私に示唆

MyListFragment myListFragment=new MyListFragment(); 
       FragmentManager fragmentManager=getFragmentManager(); 
       FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction(); 
       fragmentTransaction.replace(R.id.containerView,myListFragment).commit(); 

を呼び出す方法について説明します。 お時間をいただきありがとうございます。

+1

私はそれが間違った引数の型パス –

+0

あなたのエラーを貼り付けてくださいListFragmentの部品コード – Manish

+0

が同様 – Anjali

答えて

0

は、あなたのコードのようにgetSupportFragmentManager()であなたのgetFragmentManager()を置き換えます

   MyListFragment myListFragment=new MyListFragment(); 
       FragmentManager fragmentManager=getSupportFragmentManager(); 
       FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction(); 
       fragmentTransaction.replace(R.id.containerView,myListFragment).commit(); 

をごimport android.support.v4.app.Fragmentを使用している場合、あなたはandroid.app.FragmentManager;を使用する場合は、フラグメントのためimport android.app.Fragment;を使用する必要がありフラグメントマネージャおよびその逆のためgetSupportFragmentManager()を使用する必要があります。

+0

を試してみましょう....私はgetSupportFragmentManagerを使用しますが、エラーも同じままです。...ありがとう – Manish

+0

私は** FragmentManager fragmentManager = getActivity()。getSupportFragmentManager();を使用して、 – Anjali

+0

を使用します。 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.containerView、myListFragment).commit(); ** – Manish

関連する問題