2017-11-11 67 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级,或者如果最底部的部分被触发3倍,它将转到另一个类。这是可能的吗? – newbie

+0

我一直用它瞎搞,但它没有做什么,我认为我做 – newbie