2016-06-14 8 views
0

私は高列、中列内の媒体リスクの高リスクにあるアプリを設定したい 何私は2つの高、中にアプリを分類するために持っているでアプリを持っている私がいることを行うことができますどのように、ここにコードがあることI実装しようとしたが、成功しませここアンドロイドで分類するには?

はコードでいます: -

public void _fillRowData(int position, View rootView) { 
    if (position == _appHeaderIndex || position == _systemMenacesHeaderIndex) { 
     ResultsAdapterHeaderItem obj = (ResultsAdapterHeaderItem) getItem(position); 
     ResultsAdapterHeaderItem header = (ResultsAdapterHeaderItem) obj; 
     TextView headerText = (TextView) rootView.findViewById(R.id.Titlelabel); 
     headerText.setText(header.getDescription()); 
    } else if (_systemMenacesHeaderIndex == -1 || position < _systemMenacesHeaderIndex) //We are receiving something that is not a header and no system menaces 
    { 
     final ResultsAdapterProblemItem ri = (ResultsAdapterProblemItem) getItem(position); 
     final AppProblem ap = ri.getAppProblem(); 

     TextView textView = (TextView) rootView.findViewById(R.id.Titlelabel); 
     TextView riskText = (TextView) rootView.findViewById(R.id.qualityApp); 
     ImageView imageView = (ImageView) rootView.findViewById(R.id.logo); 
     if (ap.isDangerous()) { 
      riskText.setTextColor(ContextCompat.getColor(getContext(), R.color.HighRiskColor)); 
      riskText.setText(R.string.high_risk); 
     } else { 
      riskText.setTextColor(ContextCompat.getColor(getContext(), R.color.MediumRiskColor)); 
      riskText.setText(R.string.medium_risk); 
     } 

     RelativeLayout relativeLayout = (RelativeLayout) rootView.findViewById(R.id.itemParent); 
     relativeLayout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (_onItemChangedStateListener != null) 
        _onItemChangedStateListener.onItemSelected(ap); 
      } 
     }); 
     imageView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (_onItemChangedStateListener != null) 
        _onItemChangedStateListener.onItemSelected(ap); 
      } 
     }); 


     textView.setText(StaticTools.getAppNameFromPackage(getContext(), ap.getPackageName())); 
     imageView.setImageDrawable(StaticTools.getIconFromPackage(ap.getPackageName(), getContext())); 
    } else { 
     final ResultsAdapterProblemItem ri = (ResultsAdapterProblemItem) getItem(position); 
     final SystemProblem sp = ri.getSystemProblem(); 

     TextView textView = (TextView) rootView.findViewById(R.id.Titlelabel); 
     TextView riskText = (TextView) rootView.findViewById(R.id.qualityApp); 
     ImageView imageView = (ImageView) rootView.findViewById(R.id.logo); 

     if (sp.isDangerous()) { 
      riskText.setTextColor(ContextCompat.getColor(getContext(), R.color.HighRiskColor)); 
      riskText.setText(R.string.high_risk); 
     } else { 
      riskText.setTextColor(ContextCompat.getColor(getContext(), R.color.MediumRiskColor)); 
      riskText.setText(R.string.medium_risk); 
     } 

     RelativeLayout linearLayout = (RelativeLayout) rootView.findViewById(R.id.itemParent); 
     linearLayout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (_onItemChangedStateListener != null) 
        _onItemChangedStateListener.onItemSelected(sp); 
      } 
     }); 
     imageView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (_onItemChangedStateListener != null) 
        _onItemChangedStateListener.onItemSelected(sp); 
      } 
     }); 

     textView.setText(sp.getTitle(getContext())); 
     imageView.setImageDrawable(sp.getIcon(getContext())); 
    } 
} 
+0

のソースとしてこのリストを設定することができます。あなたは特定の順序であなたのリストをしたくないですか? –

+0

はい、私がやろうとしていること – Siddharth

答えて

0
あなただけになります。この危険な項目の後

List<ResultsAdapterProblemItem> yourList = ...; 
     Collections.sort(yourList, new Comparator<ResultsAdapterProblemItem>() { 
      @Override 
      public int compare(ResultsAdapterProblemItem lhs, ResultsAdapterProblemItem rhs) { 
       if(lhs.getAppProblem().isDangerous()) { 
        if(rhs.getAppProblem().isDangerous()) { 
         return 0; 
        } else { 
         return 1; 
        } 
       } else if(rhs.getAppProblem().isDangerous()){ 
        return -1; 
       } else { 
        return 0; 
       } 
      } 
     }); 

をアダプタに設定する前にあなたのコレクションをソートする必要

のトップリスト、そして危険ではない - が表示されます。今あなたが何をしたいのかクリアしていないアダプタ

関連する問題