2016-06-24 12 views
0

Hey neu in android nur eine app in dem ändern die textfarbe nach ändern position der in liste, wenn ich die position der ABC zur gleichen zeit ändern Ändern Sie die neue Position ABC "Zuweisen" zu "Zugewiesen" Text mit Änderung Zugewiesene Farbe rot. bitte hilf mir.wie man die position von textview mit ändern die textview farbe ändert

private class CurrentEmployeeAdapter extends BaseAdapter { 
    Context context; 
    int layoutId; 
    LayoutInflater liCurrentEmp; 
    public CurrentEmployeeAdapter(CurrentEmployee currentEmployee, int activity_current_employee) { 
     this.context=currentEmployee; 
     this.layoutId=activity_current_employee; 

     liCurrentEmp=LayoutInflater.from(context); 

    } 

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

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

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

    @Override 
    public View getView(final int position, View convertView, final ViewGroup parent) { 
     View v; 
     if (convertView==null){ 
      convertView=liCurrentEmp.inflate(R.layout.current_employee_items,parent,false); 
      v=convertView; 
     }else { 
      v=convertView; 
     } 
     TextView tvEmpName=(TextView)v.findViewById(R.id.tv_salesman_name); 
     final TextView tvassingwork=(TextView)v.findViewById(R.id.tv_assign_word); 
     Button btnAssign=(Button)v.findViewById(R.id.btn_assign); 

     btnAssign.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 


      } 
     }); 

     tvassingwork.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (assignNo==1) { 
        tvassingwork.setText("Assigning"); 
        tvassingwork.setTextColor(getResources().getColor(R.color.green)); 
        assignNo=0; 
       }else { 
        int i=position+1; 
        if(i >0) { 

         String moveName = SalesManNameArrayList.get(position); 
         SalesManNameArrayList.set(position, SalesManNameArrayList.get(position)); 
         SalesManNameArrayList.remove(position); 
         SalesManNameArrayList.add(SalesManNameArrayList.size(), moveName); 


         tvassingwork.setText("Assigned"); 
         tvassingwork.setTag(position-1); 
         tvassingwork.setTextColor(getResources().getColor(R.color.red)); 
         assignNo=1; 
         notifyDataSetChanged(); 

        } 
       } 
      } 
     }); 

     tvEmpName.setText(SalesManNameArrayList.get(position)); 

     return convertView; 
    } 
} 

Antwort

1

Versuchen Sie, diese

 tvassingwork.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

     runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        // TODO Auto-generated method stub 
     if (assignNo==1) { 
       tvassingwork.setText("Assigning"); 
       tvassingwork.setTextColor(getResources().getColor(R.color.green)); 
       assignNo=0; 
      }else { 
       int i=position+1; 
       if(i >0) { 

        String moveName = SalesManNameArrayList.get(position); 
        SalesManNameArrayList.set(position, SalesManNameArrayList.get(position)); 
        SalesManNameArrayList.remove(position); 
        SalesManNameArrayList.add(SalesManNameArrayList.size(), moveName); 


        tvassingwork.setText("Assigned"); 
        tvassingwork.setTag(position-1); 
        tvassingwork.setTextColor(getResources().getColor(R.color.red)); 
        assignNo=1; 
        notifyDataSetChanged(); 

       } 
      } 
     }); 
     } 
    }); 

runOnUIThread() Mai Ihnen hilft.

+0

sathish ich ok aber nach Änderung Zugewiesene Farbwechsel nur Klickposition, in Änderung ABC Position nicht ändern – Neil

+0

Sorry. Ich kann nicht verstehen, was du gesagt hast? –

+0

Sathish, wenn ich auf das Zuweisen von Text klicke, ändere die Position von ABC zum letzten von listview. Gleichzeitig möchte ich die gleiche Zeile ändern, die assigned Text mit Farbe zugewiesen wird – Neil

Verwandte Themen