2012-02-08 16 views
2

私は、フラグメントと互換性サポートを使用してタブ付きアプリケーションを構築しています。Android - ボタンでフラグメント内のリストビューを制御する

タブの1つに、リストビューが必要です。この同じタブでは、リストビューの項目を変更するボタンをクリックする必要があります(各ボタンには文字列配列が割り当てられています)。 私はこれを行う方法を理解していません。私はすでにボタンのためのレイアウトとクリックリスナーを作っています(私はトーストメッセージでそれをテストしたので動いています)。

私にヒントを教えてもらえますか?リストビューコードはどこに置くのですか? OnClickについて? OnCreateViewについて

申し訳ありませんが、私はアンドロイドで多くの経験を持っていません。

これはフラグメントのコードです。

public class TabFragment6 extends ListFragment { 
/** (non-Javadoc) 
* @see android.support.v4.app.Fragment#onCreateView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) 
*/ 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    if (container == null) { 
     // We have different layouts, and in one of them this 
     // fragment's containing frame doesn't exist. The fragment 
     // may still be created from its saved state, but there is 
     // no reason to try to create its view hierarchy because it 
     // won't be displayed. Note this is not needed -- we could 
     // just run the code below, where we would create and return 
     // the view hierarchy; it would just never be used. 
     return null; 
    } 



    LinearLayout theLayout = (LinearLayout)inflater.inflate(R.layout.tab_frag6_layout, container, false); 

    // Register for the Button.OnClick event GUITARRA 
    Button bShopGuit = (Button)theLayout.findViewById(R.id.buttonshopguit); 
    bShopGuit.setOnClickListener(new View.OnClickListener() {   //abre setonclicklistener(
     @Override 
     public void onClick(View v) { 
      Toast.makeText(TabFragment6.this.getActivity(), "GUITAR button clicked", Toast.LENGTH_LONG).show(); 

     } 
    });                 //fecha) 

    // Register for the Button.OnClick event BAIXO 
      Button bShopBass = (Button)theLayout.findViewById(R.id.buttonshopbass); 
      bShopBass.setOnClickListener(new View.OnClickListener() {   //abre setonclicklistener(
       @Override 
       public void onClick(View v) { 
        Toast.makeText(TabFragment6.this.getActivity(), "BASS button clicked", Toast.LENGTH_LONG).show(); 
       } 
      });                 //fecha) 

    return theLayout; 
} 

}

答えて

0

まずはフラグメントがあります。その中には、アダプタ付きListFragmentがあります。私のプロジェクトでは、私はAsyncTaskを使ってデータの作業を行い、その中でリストを更新することができます。ソースアダプタのこれを行うと、データの変更について通知する必要があります。

これはあなたに役立ちますHow to update listview after calling Asynctask to call webservice、私だと思います、

関連する問題