2017-02-09 5 views
0

私のプログラムでは、カスタムアイテムをListViewに動的に追加するフラグメントがあります。これらのアイテムには2つのボタンがあり、特定の機能を持つことになっています(リストから特定のアイテムを削除するなど)。彼らのためにOnClickListenerを設定し、私のフラグメントクラス内の関数を呼び出したいと思います。 onClick属性複数のボタンを持つカスタムListViewアイテムのonClickListener

単純なXML機能を見つけることができないと私は(静的ボタンのリスナーと同じように)onCreateView()メソッド内onClickListenerを追加しようとします。しかし、フラグメントが作成されると、NullPointerExceptionが呼び出されます。これは、参照されるボタンがフラグメント(?)の一部ではないためです。私は動的に追加したボタン(またはチェックボックス)を押した後、私の断片から機能を呼び出すことができますどのように

+0

つのアイテム?クリックしていない? – marlonpya

答えて

0

これはあなたが私のコードでは、いくつかのコード

を投稿する場合、私は似た何かを持っている方が簡単です、私はArrayアダプタと1つのリストビューを持っている、といくつかの行で私は目的球で1 IMAGEBUTTONを持っています。

アダプタで動作するクラスで問題を解決し、ボタンにfunctionalyを適用します。

いるMain_Classコード:

ListViewResources listViewResources = new ListViewResources(this, resourcesName); 
listView = (ListView) popupView.findViewById(R.id.listView1); 
listView.setAdapter(listViewResources); 

ListViewResouces_Class:二つのボタンとリストビューで

public class ListViewResources extends ArrayAdapter<String>{ 

Activity context; 
String[] resourcesName; 


public ListViewResources(Activity context, String[] resourcesName) { 
    super(context, R.layout.popup_listitem_resources, resourcesName); 

    this.context = context; 
    this.resourcesName = resourcesName; 

} 

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

    LayoutInflater inflater = context.getLayoutInflater(); 
    View rowView = inflater.inflate(R.layout.popup_listitem_resources, null, true); 

    TextView resourceName = (TextView)rowView.findViewById(R.id.textViewResourceName); 
    ImageView openResource = (ImageView)rowView.findViewById(R.id.buttonOpenResource); 

    openResource.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //code for happen on Button Click 
     } 
    }); 

    resourceName.setText(resourcesName[position]); 

    return rowView; 
} 
関連する問題