1

最初の質問とアンドロイドへの初心者 - うまくいけば、それは私が完全に欠けている簡単な解決策があることを意味する - ここに期待して...ここに行く。BaseExpandableListAdapterとGetChildView - カスタムダイアログの制限?

カスタマイズ可能なBaseExpandableListAdapterを使用してExpandableListViewを駆動しています。アダプタ内で、GetChildViewメソッドをオーバーライドして5つのボタンを持つカスタム子を表示しました。

public class ExpandableListAdapter extends BaseExpandableListAdapter {  

private Context context; 

private ArrayList<String> groups; 

private ArrayList<ArrayList<String>> children; 

private int setCount; 
private int currentSetNumber; 

... 

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, 
     View convertView, ViewGroup parent) { 

    if (convertView == null) { 
     LayoutInflater infalInflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = infalInflater.inflate(R.layout.child_layout, null); 
     parent.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); 
    } 

    Button bPlus = (Button) convertView.findViewById(R.id.btnAddSet); 

    if(childPosition == 0){ 
     Button bSetPlace = (Button) convertView.findViewById(R.id.bSetPlace1); 
     bSetPlace.setText("Set 1"); 

     bSetPlace.setOnClickListener(new View.OnClickListener(){ 

      ***public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent myIntent = new Intent(context,WeightEntryDialog.class); 
       context.startActivity(myIntent);  
      }*** 
     }); 

... remainder of method (not relevant) 

これまでのところ、私は子供のボタンの上に置かれonClickの方法で立ち往生しているように見えるが何もしてない問題。私がしたいことは、私が立ち上げようとしている意図(ダイアログ)から結果を得ることです。理想的には、私はstartActivityForResultを呼び出すでしょうが、利用可能なコンテキストからそのようなメソッドはありません。私は匿名のクラスの範囲によっても制限されています。ダイアログが表示されているが、私はそれから値を得ることができませんさらに、フィードバックの不足のためにダイアログが閉じられたときを特定することができません。

ダイアログから2つの整数を返したいと思います。ダイアログコードのどれかが関連しているがヘッダーがあるかどうかは不明です。

public class WeightEntryDialog extends Activity { 

私はBaseExpandableListAdapterクラスに行き過ぎですか?アダプタで何かしようとしていますが、実際に別の場所でやっているはずです。拡張可能なリストの子アイテムを管理することが重要です。うまくいけば、私は明らかで誰かが何か指導をすることができます。本当にありがとう。

答えて

0

当面は、別のアクティビティを起動するのではなく、アダプタクラスから直接ダイアログを展開し、ダイアログとアダプタ間でデータを共有するためのカスタムリスナを作成しました。