2016-04-06 10 views
0

アダプターを使用してlistViewを操作して、アダプターをオーバーライドした方が良い結果が得られました。問題は、 "setOnItemClickListener"を使用して、クリックしたアイテムのコンテンツを取得して別のフラグメントを開くときに何も起こらなかったことです。アダプターのオーバーライド

ClientAdapter adapter = new ClientAdapter(
    getActivity(),R.layout.item_client, R.id.textV, clients); 
lv.setAdapter(adapter); 
lv.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3 { 
     FragmentManager fragmentManager = getFragmentManager(); 
     Client t = (Client) lv.getItemAtPosition(arg2); 
     Modifier_Client fargmentACharger = new Modifier_Client(); 
     fargmentACharger.setClient(t); 
     fragmentManager.beginTransaction().replace(R.id.container, fargmentACharger).addToBackStack(null).commit();  
    } 
}); 

答えて

0

それは問題はあなたが

動作しませんonItemClickListener
  1. を持って何をすべきかは明らかではないのか?
  2. 他のフラグメントにデータを送信することはできませんか?

私はあなたが別のフラグメントにデータを送信する方法を見ていないが、あなたはこのようなものを使用する必要があります。

Bundle args = new Bundle(); 
     args.putString("client", t); 
     fargmentACharger.setArguments(args); 

またはクラスのクライアントをparselable Anがフラグメント

でそれを得ます
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
    ..... 


     client = getArguments().getString("client"); 
} 
+0

私は同じコードを試したので問題がonItemClickListenerからだと思います。 – Faten

+0

チェックしたり、追加したりするのは簡単ですあなたはこれを見ることができます。戻り値:public void onItemClick(AdapterView arg1、int arg2、long arg3 {Log.d( "My debug"、 "クリックして発生しました"); – koa73

+0

実際に試しました。 ArrayAdapter(ClientAdapterなし)を使用していたので、問題は私が作成した新しいアダプタClientAdapterによって発生していると思います。 – Faten

関連する問題