所以我有两个类,MainActivity和SpinnerActivity。
无论我现在做什么,我的微调器都没有填充使用主题ArrayList的topicsAdapter中的数据。
也许这只是我偶然发现的一件容易事,但我无法弄清楚。
MainActivity.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);
}
答案 0 :(得分:2)
问题:您正在创建一个单独的视图(通过膨胀)并且与当前SpinnerActivity
的布局没有关联,并且还在该无关视图中创建了微调器。
解决方案:
您可以setContentView(view);
使用充气视图中的微调器
或
如果您的布局中有微调器,那么使用(看起来好像它会崩溃)
Spinner spinner = (Spinner) findViewById(R.id.toolbar_spinner);
并删除
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.activity_main, null);
答案 1 :(得分:0)
您应该将setContentView(R.layout.activity_main);
更改为此Spinner所在的布局文件。
顺便说一句,你应该删除这些行
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.activity_main, null);
答案 2 :(得分:0)
请用以下代码替换您的代码: -
public class SpinnerActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> topics = new ArrayList<>();
topics.add("Home");
topics.add("Android");
topics.add("Test 3");
Spinner spinner = (Spinner) 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);
}