2016-03-28 7 views
0

私のアプリをアンドロイド版に変換しようとしています。私はアンドロイドで少し新しくなっています。私は項目がボタンを含むリストビューを持っています。それはユーザーリストであり、ボタンをクリックすると、ボタンを含む項目でのみ各ユーザーに従うことができます。ボタンのテキストは「後に」表示されます。リストの取得はうまくいきますが、私のコードではボタンのテキストは変わりません。これをどうすればいいのですか?どうもありがとうございました。あなたはそのため、次回のビュー負荷myItemListの値を変更する必要がAndroid Listview - クリック後のアイテムボタンのテキストを変更する

private class MyListAdapter extends ArrayAdapter<String> { 
    public MyListAdapter() { 
     super(getActivity().getApplicationContext(), R.layout.fragment_users_cell, myItemList); 
    } 

     @Override 
     public View getView(final int position, View convertView, ViewGroup parent) { 
      View cellView = convertView; 

      if (cellView == null){ 
       cellView = getActivity().getLayoutInflater().inflate(R.layout.fragment_users_cell, parent, false); 
      } 

      profileBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_profileBtn); 
      followBtn = (Button) cellView.findViewById(R.id.fragment_users_cell_followBtn); 

      profileBtn.setText(myItemList.get(position)); 


      profileBtn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        System.out.println(myItemList.get(position)); 

        System.out.println(position); 

       } 
      }); 


      followBtn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        System.out.println(myItemList.get(position)); 

        profileBtn.setText("followed"); 

       } 
      }); 



      return cellView; 

     } 

    } 
+0

あなたは、私がこれを行うことができますどのようにリストビュー – GVillani82

+0

こんにちはヨセフにPASリストの項目内でその情報(ボタンの状態)を保存する必要がありますか?サンプルを手伝ってもらえますか? – saner

答えて

3

データセットを更新して、最新の変更が反映されるように変更した後でリストを参照する必要があります。あなたの場合、テキストが変更されます。

followBtn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        profileBtn.setText("followed"); 
        myItemList.add(position, "followed");//Change your dataset 
        notifyDataSetChanged(); //And refresh the adapter  
       } 
      }); 
+0

Shadapありがとう、むしろ "追加"私は "セット"を使用し、それは大丈夫だ。 – saner

+0

Cool。それを知ってよかった。 –

0

、プロファイルボタン上のテキストとして設定リストから値を使用すると、フォローボタンのクリックでリストを更新する必要がある。すなわち を踏襲しているIXていますListViewに通知します。

followBtn.setOnClickListener(new View.OnClickListener(){ 

    @Override 
    public void onClick(View v) { 
     System.out.println(myItemList.get(position)); 
     myItemList.get(position).set("followed"); 
     profileBtn.setText("followed"); 
    } 
}); 
+0

こんにちはAshim、myItemList.get(position).set( "following"); 、動作していない、エラーを取得中 "メソッドを解決できません"。 – saner

+0

リスト内のそのユーザーの値をfollowからfollowまで更新する必要があります。 myItemList.set(position、 "following"); –