私はアンドロイドの初心者です。私はアクティビティで2つのスピナービューを使用しようとしています。エントリはスピナーのドロップダウンで表示されますが、エントリを選択すると、スピナーコントロールには表示されません。私は全面的に検索したが、それは私のために働かなかった。私がやっていることはすべて、次のとおりです。 私の活動のXMLはAndroidスピナーはリストがドロップダウン表示されている間に選択したテキストを表示しません
<?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_seventy_thirty"
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.elecsysindia.montestapp.SeventyThirtyActivity">
<TextView
android:text="Division"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtDivison"
android:textSize="20sp"
android:layout_alignParentTop="true"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinnerDivision"
android:layout_marginLeft="32dp"
android:layout_alignTop="@+id/txtDivison"
android:layout_toRightOf="@+id/txtDivison"
android:layout_toEndOf="@+id/txtDivison" />
<TextView
android:text="Station"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtDivison"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="16dp"
android:layout_marginRight="16dp"
android:id="@+id/txtStationCode"
android:textSize="20sp"
/>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinnerStation"
android:layout_below="@+id/spinnerDivision"
android:layout_alignLeft="@+id/spinnerDivision"
android:layout_alignStart="@+id/spinnerDivision"
android:layout_marginTop="16dp"
android:layout_marginStart="48dp"
android:layout_marginBottom="16dp"
android:layout_marginLeft="48dp" />
<Button
android:text="Submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btnSubmit"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
android:layout_alignLeft="@+id/spinnerStation"
android:layout_below="@+id/spinnerStation"
/>
</RelativeLayout>
やクラスのようです:
private static List<String> listDivisions = new ArrayList<String>();
private List<String> listStation = new ArrayList<>();
Spinner spinnerDivision ;
Spinner spinnerStation;
Button btnSubmit;
ArrayAdapter<String> adapterDivision;
ArrayAdapter<String> adapterStation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_seventy_thirty);
spinnerDivision = (Spinner) findViewById(R.id.spinnerDivision);
spinnerStation = (Spinner) findViewById(R.id.spinnerStation);
btnSubmit = (Button) findViewById(R.id.btnSubmit);
// adapterDivision = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,listDivisions);
adapterDivision = new ArrayAdapter<String>(getApplicationContext(),R.layout.layout_spinner_item,listDivisions);
adapterDivision.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerDivision.setAdapter(adapterDivision);
adapterDivision.notifyDataSetChanged();
adapterStation = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,listStation);
adapterStation.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerStation.setAdapter(adapterStation);
adapterStation.notifyDataSetChanged();
そして、これはリストが更新される方法です。
for (int i = 0; i < subs.length(); i++){
JSONObject subsDetail = subs.getJSONObject(i);
ArrayList<String> stnList = new ArrayList<String>();
if(subsDetail != null){
stnList.clear();
String DivCode = subsDetail.getString("divCode");
JSONArray st = subsDetail.getJSONArray("stncode");
String city="";
for (int j=0 ; j<st.length(); j++){
stnList.add(st.getString(j));
city = city.concat(st.getString(j)+"-");
}
mapSubscriptions.put(DivCode,stnList);
listDivisions.add(DivCode);
listStation.addAll(stnList);
私は、単純なPHPスクリプトと、このデータからデータを取得していますリストに挿入されています。
もソフに関連する問題を検索した後、私は役に立たないの
adapterDivision = new ArrayAdapter<String>(getApplicationContext(),R.layout.layout_spinner_item,listDivisions);
まだで使用されるスピナーのために別々のレイアウトを使用しようとしました。次のようにlayout_spinner_itemため xmlファイルは次のとおりです。の、textColorを:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinnerItem"
android:textSize="20sp"
android:gravity="left"
android:textColor="#aaddaa"
android:padding="5dip"
/>
私もプロパティアンドロイドを設定することにより、テーマ自体のテキストの色の変化を作ってみました。しかし再び成功はない。
<item name="android:textColor">#FF00FF</item>
なぜスピナーコントロールにテキストが表示されないのか教えてください。
多くの苦労の末、1つのスピナーのテキストが表示されますが、これは直接アクティビティを再開した場合にのみ表示されます。つまり、主なアクティビティからアクティビティに移動せずに表示されます。 2番目のスピナー(spinnerStation)は、テキストをまったく表示しません。両方のスピナーについても同じソースコードです。スクリーンショットをご覧ください。 Entries of spinnerStation which dont show text
adapterStation.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)を削除します。チェックしてください。 –
あなたもスクリーンショットを追加できますかあなたが直面している問題は何ですか?私はこれをスピンナーの項目をクリックすると理解できませんでした。スピンナーなどのテキストを見ることができません –
'onItemSelected'メソッド? – Wizard