我有一个下拉旋转器,当点击一个按钮时会显示出来,看起来像这样:
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/spinMenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:spinnerMode="dropdown"
android:visibility="invisible" />
<ListView
android:id="@+id/lvWall"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
这里是一个显示下拉弹出框的代码片段:
findViewById(R.id.btn).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
spinMenu.performClick();
}
});
我的下拉菜单可以正常显示弹出式窗口。问题是我的布局有一个列表视图,它从后台获取数据。当数据完全加载时,所有列表项将被显示或刷新,此时下拉菜单的弹出式窗口会消失(即使我没有触摸屏幕)。我认为问题是窗口已经转向其他视图。那么我该如何防止这种情况发生?
更新:以下是我从后台加载数据后的列表,非常简单:
List<Feed> data = result;
FeedAdapter adapter = new FeedAdapter (this, data);
ListView lvWall = (ListView)findViewById(R.id.lvWall);
lvWall.setAdapter(adapter);
并为微调器提供数据:
List<String> list = getMenus();
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinMenu.setAdapter(dataAdapter);
performClick()
的代码吗?还有,在你的异步任务中,加载 ListView 内容的地方。 - krodmannix