私は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);
}
膨張された後にのみ、あなたは 'xml'ファイルではありませんなぜあなたは一つの断片とディスプレイ内部のAsyncTaskを実装するのです' java'ファイル – rookieDeveloper
を膨らませる必要があり働きます結果は別の断片になりますか? – vidulaJ
アイテムデータをadd-to-cart-fragment(1番目のフラグメント)のdbテーブルに挿入し、db-tableの結果をカートフラグメント(2番目のフラグメント)に表示します。 私はnewbです。それを行うよりよい方法があれば教えてください。 –