所以我有两个类,MainActivity 和 SpinnerActivity。
无论我现在做什么,我的微调器都不会填充来自使用主题 ArrayList 的主题适配器的数据。
也许这只是我偶然发现的一些简单的事情,但我就是想不通。
主 Activity .java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar myToolbar = findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
Intent spinner = new Intent(this, SpinnerActivity.class);
startActivity(spinner);
}
SpinnerActivity.java
public class SpinnerActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.activity_main, null);
ArrayList<String> topics = new ArrayList<>();
topics.add("Home");
topics.add("Android");
topics.add("Test 3");
Spinner spinner = (Spinner) view.findViewById(R.id.toolbar_spinner);
ArrayAdapter<String> topicsAdapter = new ArrayAdapter<>(this, R.layout.spinner_item, topics);
topicsAdapter.setDropDownViewResource(R.layout.spinner_dropdown);
spinner.setAdapter(topicsAdapter);
}
最佳答案
问题:您正在创建一个单独的 View (通过膨胀它)并且与当前 SpinnerActivity
的布局没有关系,并且还在该不相关的 View 中创建微调器.
解决方案:
您可以执行 setContentView(view);
以使用展开 View 内的微调器
或
如果您的布局中有微调器,则使用(似乎否则它会崩溃)
Spinner spinner = (Spinner) findViewById(R.id.toolbar_spinner);
并删除
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.activity_main, null);
关于java - 为什么我的微调器没有填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49882553/