2017-01-06 10 views
0

簡単なスピナーを作成しようとしていますが、エラーが表示されています。私は私のプロジェクトで活動を作りました。スピナーが動作していません

マイMainActivityクラス:

public class MainActivity extends AppCompatActivity { 

    Spinner sp; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ArrayList<String> list = new ArrayList<String>(); 
     list.add("K"); 
     list.add("J"); 
     list.add("S"); 
     list.add("B"); 
     list.add("G"); 
     list.add("F"); 
     list.add("G"); 
     list.add("D"); 
     list.add("C"); 
     list.add("M"); 
     sp=(Spinner) findViewById(R.id.spinner); 
     ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.activity_main,list); 
     adapter.setDropDownViewResource(R.layout.activity_main); 
     sp.setAdapter(adapter); 

     sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       String label = parent.getItemAtPosition(position).toString(); 
       Toast.makeText(parent.getContext(),"You are selected "+label,Toast.LENGTH_LONG).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 
    } 
} 

ここでは、私はスピナーを追加私のactivity_main.xmlです:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.firebase.ashik.dropdownlistviewvaluecount.MainActivity"> 

    <Spinner 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/textView" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="81dp" 
     android:id="@+id/spinner" /> 
</RelativeLayout> 

と、この致命的なエラーを示す:

E/AndroidRuntimeを:重大な例外:メイン java.lang.IllegalStateException:ArrayAdapterはリソースIDをTextViewにする必要があります

+1

["ArrayAdapterはリソースIDがTextViewになっている必要があります" xmlの問題](http://stackoverflow.com/questions/9280965/arrayadapter-requires-the-resource-id-to-be- a-textview-xml-problems) –

+0

アダプター.setDropDownViewResource(R.layout.activity_main);あなたは間違ったレイアウトを膨らませている –

+0

この行を削除、変更するには、この 'ArrayAdapter アダプタ=新しいArrayAdapter (これ、R.layout.activity_main、リスト);この ' ArrayAdapter アダプタ=新しいArrayAdapter に ' ( this、R.layout.simple_spinner_item、list); ' –

答えて

2

あなたは例外を取得しているところ、この次の行がある

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.simple_spinner_item,list); 
+0

なぜあなたはこの答えを言ったのですか?質問の所有者に理解させる。 – Noorul

1

、これを試してみてください:

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, R.layout.activity_main,list); 

の変化をこれに:

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list); 
0

1であなたのArrayAdapterラインを交換してください以下:

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,list); 

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list); 
関連する問題