2012-05-17 2 views
0

listview가 있습니다. 테마에 따라 listview 행을 변경하고 있지만 레이아웃 인플레 이러가 레이아웃을 감지하지 못하고 있습니다. Plz이 내가 뭘 잘못하고 있는지 안내합니다. 나는 proejct를 청소하고 닫고 일식을 다시 열었지만 같은 문제가 계속 발생합니다. Plz 날 안내.레이아웃 inflator가 xml 레이아웃을 감지하지 못합니다.

LayoutInflater inflater = getLayoutInflater(); 
       View row = null;       
       if(theme.equals("blue")){ 
        row = inflater.inflate(R.layout.bluerow, parent, false);      
       }else if (theme.equals("green")){ 
       // row = inflater.inflate(R.layout.bluerow, parent, false);      

       }else if (theme.equals("orange")){ 

       }else if (theme.equals("purple")){ 

       }else if (theme.equals("red")){ 

       }else if (theme.equals("pink")){ 

       } 

예를 들어, 레이아웃 bluerow.xml에는 있지만 마찬가지로 orangerow.xml 검출 레이아웃 폴더이지만 검출하지에 행되었다.

+0

not detectg 당신은 컴파일 타임 오류가 발생하고 있음을 의미합니다. 그게 뭡니까? –

+0

아니요 컴파일 오류가 아니라 r.layout입니다. 레이아웃을 감지하지 못했습니다. 나는 그 레이아웃을 다뤄 다른 이름으로 이름을 바꿨다. – Programmer

+0

어쨌든 나는 R 파일을 다시 생성 할 수 있습니까? – Programmer

답변

0

사용이 코드

LayoutInflater inflater = (LayoutInflater) context 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
row = inflater.inflate(R.layout.row, parent, false); 
0

이 하나

LayoutInflater mInflater = LayoutInflater.from(context); 

public View getView(int position, View convertView, ViewGroup parent) { 
     final ViewHolder holder; 

     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.example, null); 
      holder = new ViewHolder(); 
      holder.txt1= (TextView) convertView 
        .findViewById(R.id.txt1); 
      holder.txt2 = (TextView) convertView 
        .findViewById(R.id.txt2); 


      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 

     } 
       } 

class ViewHolder { 
     TextView txt1, txt2; 
     int ref; 

    } 
0

그때 당신이 어떤 목적을 위해 해당 뷰를 사용할 수있는 레이아웃을 팽창하기 위해 아래의 코드를 사용하십시오. 이렇게하면 XML 파일의 가장 상위 레이아웃을 얻을 수 있습니다. 그에 따라 캐스트를 입력하고 사용하십시오.

View headerView = View.inflate(this, R.layout.layout_name, null); 

내가 상대 레이아웃에보기 위 변환 할 마찬가지로

그렇게
RelativeLayout rl_layout = (RelativeLayout) headerView; 

은 당신을 도움이되기를 바랍니다.

한 가지 더 정리하고 프로젝트를 다시 작성하십시오.

관련 문제