2011-08-14 4 views
3

나는 회 전자를 동적으로 만들려고 애썼다. 나는 페이지에 있었지만 옵션을 선택하려고 할 때마다 날아갔습니다. 원래 코드가 맨 아래에 있습니다. 나는 내부 클래스의 외부 addSpinner() 기능을 이동동적으로 회 전자 만들기

그것은 고정 된 것
Spinner newSpinner = new Spinner(this); 

Spinner newSpinner = new Spinner(getApplicationContext()); 

을 변경하여 고정하지만 난 처음에 작동하지 않았다 무엇인지 전혀 모른다. 아무도 설명 할 수 있을까요? (사과가 멍청한 놈 질문의 경우 - 나는 자바와 안드로이드 모두에 새로운 오전) 나는 전혀 확실하지 않다

public class SpotManageActivity extends Activity 
{ 
    private SimpleCursorAdapter mSpots; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.reminder_manage_activity); 

     Button add_new_button = (Button) findViewById(R.id.add_new_spot_button); 
     add_new_button.setOnClickListener(new ButtonOnClickListener()); 

    } 

    public class ButtonOnClickListener implements View.OnClickListener 
    { 
     @Override 
     public void onClick(View v) 
     { 
      addSpinner(); 
     } 

     private void addSpinner() 
     { 
      LinearLayout layoutHolder = 
       (LinearLayout) findViewById(R.id.layout_holder); 

      LinearLayout spinnerHolder = new LinearLayout(getApplicationContext()); 
      spinnerHolder.setOrientation(LinearLayout.HORIZONTAL); 

      spinnerHolder.setLayoutParams(
       new LinearLayout.LayoutParams(
        LinearLayout.LayoutParams.FILL_PARENT, 
        LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); 
      Spinner newSpinner = new Spinner(getApplicationContext()); 
      newSpinner.setLayoutParams(
       new Spinner.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 
        ViewGroup.LayoutParams.WRAP_CONTENT)); 
      newSpinner.setAdapter(mSpots); 

      layoutHolder.addView(spinnerHolder); 
      spinnerHolder.addView(newSpinner); 

      // A non-internal spot was selected 
     } 

    } 

} 
+0

코드 검토 작업 코드 향상을위한 엄격하다. 어떻게/왜 코드가 작동하는지에 관한 코드 또는 질문을 수정하면 거기에 속하지 않습니다. 코드를 이해 한 후에 코드를 개선하는 데 도움이 필요하시면 언제든지 다시 가져올 수 있습니다. –

답변