2016-10-31 8 views
0

私はAsyncTaskクラスをFragment1から呼び出して、Fragment2のlistviewにdoInBackground()の結果を格納しようとしています。AsyncTask - 別のフラグメントのfindviewbyidによる要素を使用

しかし、私はそれがVを述べnullポインタ例外がnullスロー

cartlistview=(ListView)v.findViewById(R.id.listview1); 

などの要素にアクセスするためにFragment2のビューを使用します。

私はあなたがそれで何かを探して前に、あなたのビューを膨らませる必要がありonPosteExecute()関数

protected void onPostExecute(String result) { 
    MyCartFragment mcf=new MyCartFragment(); //2nd Fragment 
    View v=mcf.getView();   
    cartlistview=(ListView)v.findViewById(R.id.listView1); // ERROR HERE 

    // Code starting from here is not causing any problems - ignoreable. 
    Cursor res=databaseHelper.onView(); 
    int len=res.getCount(); 

    listCartItems = new ArrayList<CartItems>(); 
    listCartItems.add(new CartItems(9,"Item Name", "Quantity", "Price","Delete")); 

    if(len==0) 
    { 
     //Toast.makeText(this.getContext(),"Cart is Empty.",Toast.LENGTH_SHORT).show(); 
     statusOfCart=false; 
    } 
    else { 
     while (res.moveToNext()) { 
      int id=res.getInt(0); 
      String itemname = res.getString(1).toString(); // 0 is id, 1 is name, 2 is qty, 3 price 
      String itemqty = Integer.toString(res.getInt(2)); 
      String itemprice = Integer.toString(res.getInt(3)); 
      listCartItems.add(new CartItems(id,itemname, itemqty, itemprice,"X")); 
     } 
    } 
    CartListAdapter cartListAdapter = new CartListAdapter(mcf.getContext(),R.layout.cartlist_layout, listCartItems); 
    cartlistview.setAdapter(cartListAdapter); 

} 
+0

膨張された後にのみ、あなたは 'xml'ファイルではありませんなぜあなたは一つの断片とディスプレイ内部のAsyncTaskを実装するのです' java'ファイル – rookieDeveloper

+1

を膨らませる必要があり働きます結果は別の断片になりますか? – vidulaJ

+0

アイテムデータをadd-to-cart-fragment(1番目のフラグメント)のdbテーブルに挿入し、db-tableの結果をカートフラグメント(2番目のフラグメント)に表示します。 私はnewbです。それを行うよりよい方法があれば教えてください。 –

答えて

0

に収納コードを書きました。

MyCartFragment mcf=new MyCartFragment(); //2nd Fragment 
View v= inflater.inflate(R.layout.fragment2, container, false); // <= inflate your view 
cartlistview=(ListView)v.findViewById(R.id.listView1); // v is not null anymore 

Fragment.getView()ビューがビューにすでに

+0

「コンテナ」の代わりに何を渡しますか? –

+0

あなたのビューの親 –

+0

まだ動作しません –

関連する問題