2012-07-02 3 views
0

비슷한 사전 지식 테스터 인 프로젝트에서 일하고 있습니다. 코드를 통해 회 전자에 2 개의 언어 이름을 추가하길 원하지만 문제가있어 미친 듯이 움직입니다.코드를 통해 추가되는 스피너의 크기를 어떻게 바꿀 수 있습니까?

"1"아래 표시된 부분을 사용할 때 아무런 문제가 없지만 "2"라고 표시된 부분을 사용하면 오류가 발생합니다. 동시에 "1"을 사용하면 전체 화면처럼 보이지만 크기를 작게 변경하는 방법을 찾지 못했습니다.

제발 도와주세요, 미리 감사드립니다.

1) Spinner spin = new Spinner(this); spin.setAdapter(dataAdapter); setContentView(spin);

2) Spinner spin2 = (Spinner) findViewById(R.id.spinner1); spin2.setAdapter(dataAdapter); setContentView(spin2);

+0

더 많은 코드를 제공 할 수 있습니까? '2'코드에서 findViewById()를 호출하기 전에 setContentView()를 호출해야합니다. – sandrstar

답변

1

당신이 볼 수있는 유일한보기로 회 전자의보기를 설정하는 일에서 그것을 사용하는 방법. 당신이 필요로하는 무엇

는 설정 XML 파일에보기를 정의하는 것입니다 내용보기로

예를 들어 main.xml에 당신 된 .java 파일에서 다음

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 

<Spinner 
    android:id="@+id/spinner2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 

</LinearLayout> 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    //setting up the adapters 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 
    ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); 

    //adding things to the adapters 
    dataAdapter.add("English"); 
    dataAdapter2.add("Spanish"); 

    //setting the spinners up from their id in the XML file 
    Spinner spinner1 = (Spinner)findViewById(R.id.spinner1); 
    Spinner spinner2 = (Spinner)findViewById(R.id.spinner2); 

    //setting the spinners adapters 
    spinner1.setAdapter(dataAdapter); 
    spinner2.setAdapter(dataAdapter2);  

} 

잘못된 질문을 해석하면 더 자세히 대답해야합니다.

0

이 문제가 해결되었습니다. 문제는 내가 상대 & 선형 레이아웃을 동시에 추가하고 프로그램이 스피너에 올바르게 액세스 할 수 없다는 것이 었습니다. 이제 선형 레이아웃을 삭제하고 상대 레이아웃 만 추가하고 내 화면을 디자인합니다. 지금 아무런 문제가 없습니다. 고맙습니다.이 주제에 관심이 있고 대답을 주신 모든 분들께.

관련 문제