Dies ist die Select.java Datei, die die SpinnereienDynamisch besiedelten spinner kehrt keine Aussicht, und ich bin nicht in der Lage Elemente auszuwählen
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class select extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select);
final Spinner s1 = (Spinner) findViewById(R.id.s1);
ArrayAdapter s1adapter = ArrayAdapter.createFromResource(this, R.array.s1,R.layout.spin);
s1adapter.setDropDownViewResource(R.layout.spin);
s1.setAdapter(s1adapter);
final ArrayList<String> array = new ArrayList<>();
s1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
array.add("1");
long iid = parent.getSelectedItemId();
if (iid == 0) {
array.clear();
array.add("id 1");
} else if (iid == 1) {
array.clear();
array.add("id 2");
array.add("id 3");
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
Spinner s2 = (Spinner) findViewById(R.id.s2);
Adapter s2adapter = new Adapter(this,R.layout.spin,array);
s2.setAdapter(s2adapter);
final String l = null;
s2.setSelection(0);
s2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Intent less = new Intent(getBaseContext(),less.class);
Toast.makeText(getBaseContext(),"in",Toast.LENGTH_SHORT);
if (parent.getItemAtPosition(position).equals("id 1")) {
less.putExtra("lesson_1", l);
Toast.makeText(getBaseContext(),"in",Toast.LENGTH_SHORT);
} else if (parent.getItemAtPosition(position).equals("id 2")) {
less.putExtra("lesson_2", l);
} else if (parent.getItemAtPosition(position).equals("id 3")) {
less.putExtra("lesson_3", l);
}
startActivity(less);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
auffüllt} Hier finden Sie spin.xml die benutzerdefinierte Ansicht für Spinner
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/testing"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="top"
android:singleLine="true"
android:textSize="20sp"
android:typeface="sans"
android:textStyle="bold"
android:textColor="@android:color/white"
android:background="@android:color/black"/>
im folgenden ist der Adapter die Ansicht in der spinner
import android.content.Context;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class Adapter extends ArrayAdapter<String> {
Context c;
ArrayList<String> list;
public Adapter(Context context, int resource, ArrayList<String> list) {
super(context,R.layout.spin, list);
this.c=context;
this.list=list;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
LayoutInflater inf =(LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView=inf.inflate(R.layout.spin,null);}
TextView a =(TextView)convertView.findViewById(R.id.testing);
a.setText(list.get(position));
return convertView;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
{
LayoutInflater inf =(LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView=inf.inflate(R.layout.spin,null);}
TextView a =(TextView)convertView.findViewById(R.id.testing);
a.setText(list.get(position));
return convertView;
}
aufzublasen
}
Der Spinner zeigt anfangs keine Elemente an, aber beim Klicken. Artikel werden nicht ausgewählt. Beweis ist das makeToast funktioniert nicht. Bitte etwas vorschlagen.
Ich denke, das Problem liegt in dem GetView Verfahren in dem Adapter –