2016-08-11 8 views
0

これが私のクラスで、それはコードの下に、私は私のようにフラグメントAndroidのフラグメントでArray Adapterを呼び出す方法は?

public class Adapter extends ArrayAdapter<String> { 
    private String responsedate[]; 
    private String responsecheckinto[]; 
    private String responsemessage[]; 
    private Activity context; 
    //Context mcontext; 
    ImageView pdf; 
    public Adapter(Activity context, String[] responsedate, String[] responsecheckinto, String[] responsemessage) { 
     super(context, R.layout.listview_response, responsedate); 
     this.context = context; 
     this.responsedate = responsedate; 
     this.responsecheckinto = responsecheckinto; 
     this.responsemessage = responsemessage; 
    } 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater = context.getLayoutInflater(); 
     View listViewItem = inflater.inflate(R.layout.listview_response, null, true); 
     TextView ResponseDate=(TextView)listViewItem.findViewById(R.id.txtdate); 
     TextView checkito=(TextView)listViewItem.findViewById(R.id.txtcheckintoText); 
     TextView message=(TextView)listViewItem.findViewById(R.id.messageText); 
     TextView view=(TextView)listViewItem.findViewById(R.id.documents); 
     view.setText("Document"); 
     ResponseDate.setText(responsedate[position]); 
     checkito.setText(responsecheckinto[position]); 
     message.setText(responsemessage[position]); 
     pdf=(ImageView)view.findViewById(R.id.pdf); 
     pdf.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Adams_advice_Fragment fragment = new Adams_advice_Fragment(); 
       FragmentTransaction ft = getFragmentManager().beginTransaction(); 
       ft.replace(R.id.fragment1, fragment).addToBackStack(null); 
       ft.commit(); 
      } 
     }); 
     return listViewItem; 
    } 
} 
+0

を受けたら、あなたが直面している実際の問題が何であるか、あなたのフラグメントに応じて任意のアクションを取ることができますインターフェイス

public interface IOnListItemClickListener { void onListItemClicked(); } 
あなたのアダプタクラスで

private IOnListItemClickListener mListItemClickListener; public void setListItemClickListener(IOnListItemClickListener listItemClickListener) { mListItemClickListener = listItemClickListener; } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = context.getLayoutInflater(); View listViewItem = inflater.inflate(R.layout.listview_response, null, true); TextView ResponseDate=(TextView)listViewItem.findViewById(R.id.txtdate); TextView checkito=(TextView)listViewItem.findViewById(R.id.txtcheckintoText); TextView message=(TextView)listViewItem.findViewById(R.id.messageText); TextView view=(TextView)listViewItem.findViewById(R.id.documents); view.setText("Document"); ResponseDate.setText(responsedate[position]); checkito.setText(responsecheckinto[position]); message.setText(responsemessage[position]); pdf=(ImageView)view.findViewById(R.id.pdf); pdf.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(null != mListItemClickListener) { mListItemClickListener.onListItemClicked(); } } }); return listViewItem; } 

を作成しますか? –

+0

あなたの問題は何ですか? –

答えて

0

パスコンテキストでそれをアクセスしたいアダプタクラスを作成するアンドロイドである 以下のコードを参照してください、私に提案を与えてくださいgetActivity()

customAdapter =新しいアダプタ(getActivity()、.......);

+0

私はすでにそれをしました.. –

0

私があなたの問題を理解していれば、あなたは何らかのアクションをとることができるあなたのフラグメントのこのアダプターのクリックイベントにアクセスする必要があります。そして、アダプターは、それを消費するのではなく、クライアントにイベントを渡す必要があります。

これを行うには、コールバックメカニズムが必要です。そして、あなたはコールバック

関連する問題