Android 如果所有都在MainActivity中,但不在两个类中,则代码可以工作
我有两门课:MainActivity和WordBase。代码不起作用,但当我将其从WordBase类复制到MainActivity时,它就起作用了。 这是两门课Android 如果所有都在MainActivity中,但不在两个类中,则代码可以工作,android,class,android-arrayadapter,android-spinner,Android,Class,Android Arrayadapter,Android Spinner,我有两门课:MainActivity和WordBase。代码不起作用,但当我将其从WordBase类复制到MainActivity时,它就起作用了。 这是两门课 public class WordsBase { private Activity context=null; private View myView; // Type of words that user wants to search private final String Noun="Nomen",Adjectives="A
public class WordsBase {
private Activity context=null;
private View myView;
// Type of words that user wants to search
private final String Noun="Nomen",Adjectives="Adjectives",Verbs="Verben";
public WordsBase(Activity context)
{
this.context= context;
}
// creat the list menu that lets User to choose what type of words wants to search
public void create () {
LayoutInflater inflater = context.getLayoutInflater();
myView = inflater.inflate(R.layout.words_base, null);
Spinner sp1 = (Spinner) myView.findViewById(R.id.spinner1);
List<String> arr = new ArrayList<String>();
arr.add(Noun);
arr.add(Adjectives);
arr.add(Verbs);
ArrayAdapter<String> menu_Adapter = new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1,arr);
sp1.setAdapter(menu_Adapter);
}
}
您忘记了将视图添加到主活动 您可以像这样返回视图 公共视图创建(){ 。。。 返回myView; }
在main活动中,您可以看到外部relativelayout.addview(menu.create()) 显示不起作用的代码。setContentView(newWordsBase(this.create());公共视图创建(){LayoutInflater inflater=context.getLayoutInflater();myView=inflater.inflate(R.layout.words_base,null);微调器sp1=(微调器)myView.findViewById(R.id.Spinner);List arr=new ArrayList();arr.add(名词);arr.add(形容词);arr.add(动词);ArrayAdapter menu_Adapter=新的ArrayAdapter(上下文,android.R.layout.simple_list_item_1,arr);sp1.setAdapter(menu_Adapter);返回myView;}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.words_base);
WordsBase menu =new WordsBase(this);
menu.create();
}
}