2017-11-11 4 views
0

良い一日私は現在、幸運タイプのホイールのように見えるプロジェクトに取り組んでいます。私は、このアダプタを持って、それは、ほとんどの他の底になった場合、別のクラスにデータを送信するカウンタを持つことが可能である場合、私は思っていた助けてくださいアダプタのカウンタとそれを他のクラスの条件で呼び出す

package com.forteza.answerme.adapter; 

パブリッククラスGridViewSuggestAdapterがBaseAdapter {

を拡張していただきありがとうございます
private List<String> suggestSource; 
private Context context; 
private Level2 level2; 

public GridViewSuggestAdapter(List<String> suggestSource, Context context, Level2 level2) { 
    this.suggestSource = suggestSource; 
    this.context = context; 
    this.level2 = level2; 

} 

@Override 
public int getCount() { 
    return suggestSource.size(); 
} 

@Override 
public Object getItem(int position) { 
    return suggestSource.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(final int position, View convertView, ViewGroup parent) { 
    Button button; 

    if(convertView == null) 
    { 
     if(suggestSource.get(position).equals("null")) 
     { 

      button = new Button(context); 
      button.setLayoutParams(new GridView.LayoutParams(85,85)); 
      button.setPadding(8,8,8,8); 
      button.setBackgroundColor(Color.DKGRAY); 

     } 
     else 
     { 
      button = new Button(context); 
      button.setLayoutParams(new GridView.LayoutParams(85,85)); 
      button.setPadding(8,8,8,8); 
      button.setBackgroundColor(Color.DKGRAY); 
      button.setTextColor(Color.YELLOW); 
      button.setText(suggestSource.get(position)); 
      button.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        int error=0; 
        //If correct answer contains character user selected 
        if(String.valueOf(level2.answer).contains(suggestSource.get(position))) 
        { 
         char compare = suggestSource.get(position).charAt(0); // Get char 

         for(int i =0;i<level2.answer.length;i++) 
         { 
          if(compare == level2.answer[i]) 
           Common.user_submit_answer[i] = compare; 
         } 

         //Update UI 
         GridViewAnswerAdapter answerAdapter = new GridViewAnswerAdapter(Common.user_submit_answer,context); 
         level2.gridViewAnswer.setAdapter(answerAdapter); 
         answerAdapter.notifyDataSetChanged(); 

         //Remove from suggest source 
         level2.suggestSource.set(position,"null"); 
         level2.suggestAdapter = new GridViewSuggestAdapter(level2.suggestSource,context,level2); 
         level2.gridViewSuggest.setAdapter(level2.suggestAdapter); 
         level2.suggestAdapter.notifyDataSetChanged(); 
        } 
        else // else 
        { 
         //Remove from suggest source 
         level2.suggestSource.set(position,"null"); 
         level2.suggestAdapter = new GridViewSuggestAdapter(level2.suggestSource,context,level2); 
         level2.gridViewSuggest.setAdapter(level2.suggestAdapter); 
         level2.suggestAdapter.notifyDataSetChanged(); 







        } 
       } 
      }); 
     } 
    } 
    else 
     button = (Button)convertView; 
    return button; 

} 

}

答えて

0

そのアダプタのインターフェイスとあなたの条件が満たされたときにトリガされるリスナーを作成します。あなたの他のアクティビティにそのインターフェイスを実装し、あなたのアクティビティで実装されたメソッド内で何らかのアクションを実行します。

+0

こんにちは、私はインターフェイスを作成しましたが、実装方法とちょっと混乱しています...上記のように私は必要なことをしました。私はちょうどいいえ、条件を – newbie

+0

一番下の部分は最後の部分です。私はそれを数えたいと思っています。データはレベル2.classに転送されます。あるいは、最も下の部分が3xトリガされた場合、別のクラスに移動します。 – newbie

+0

私はそれを使いこなしていましたが、私がやっていると思っていることをしていません – newbie