2016-08-12 18 views
4

複数の項目がある場合にコードを実装しようとしています。 私はListViewを入力してこれらのアイテムをすべて表示できますが、ビューonItemClickを膨らませたいと思います。残念ながらAdapterViewaddView()をサポートしていません。リストビューの代わりにaddViewを使用

は、だから今、私は動的にArrayList<>()を横断することにより項目を追加するaddView()を使用したいです。 どうすればよいですか?

は基本的に、私は次のTextViewからListView内部のカスタムキーパッドのレイアウトを表示し、これは私が今やろうとしているものですTextView

の値を更新します。あなたは何ができるか

public class OrderSummary extends Activity { 
    LinearLayout linearLayout; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_order_summary); 
     linearLayout = new LinearLayout(this); 
     View view = View.inflate(this, R.layout.top_bar_layout, null); 
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
     linearLayout.addView(view, params); 
     view.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast.makeText(OrderSummary.this, "Clicked", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 
+0

ちょうどあなたのアダプタで項目を追加し、私はそれをした –

+0

notifydatasetchangedメソッドを通知呼び出します。リストにはデータが取り込まれていますが、リストビューの上に別のビューを展開することはできません。これは私が –

+0

に直面している問題です。[RecyclerView](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html)で試してみましたか?より多くのconvienientを使用する... – snachmsm

答えて

0

あなたのコードでは、あなたが主なコンテナにのLinearLayoutを追加している問題はありますか?

+0

setContentView(R.layout.order_summary);素晴らしい相対レイアウトを追加します。リニアレイアウトは、そのrelativelayoutの子です。 –

+0

linearLayout = new LinearLayout(this);あなたが新しいを作成していることを意味する –

+0

ああはい。今私は理解した!ありがとうございました –

1

ではなくListViewの(垂直にセット向きで)LinearLayoutを取るです。その後、各行のカスタムビューを作成し、ArrayListをトラバースしてからビューを拡張し、LinearLayoutに続けてaddView()を追加してください。

P.S.実際のコードがなくても、コードを修正する方法はわかりません。

+0

私はこれがあなたが意味するものだと思います。ビューは追加されません。私はinflate()のためにnull以外の他の値を渡すべきですか? –

関連する問題