我不能为我的生活弄清楚为什么我的ExpandableListView不会扩展...我已经在ExpandableListView中找到了几乎每个点击监听器的日志语句,它看起来并不像它们中的任何一个被调用.
我知道有很多关于这个主题的帖子,但是我已经阅读了所有内容并尝试了许多事情并且没有运气,希望我错过了一些很容易被其他人发现的小错误.
主要活动:
public class ForumListActivity extends Activity {
private static ArrayList<Forum> forumList;
private static ArrayList<ArrayList<SubForum>> subForumList;
private ExpandableListView forumListView;
private ForumListAdapter forumListAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main_page);
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
forumListView = (ExpandableListView) this.findViewById(R.id.main_page_forum_list);
forumList = new ArrayList<Forum>();
subForumList = new ArrayList<ArrayList<SubForum>>();
setUpForums(this);
forumListAdapter = new ForumListAdapter(this, forumList, subForumList);
forumListView.setAdapter(forumListAdapter);
forumListView.setOnGroupExpandListener(new OnGroupExpandListener(){
@Override
public void onGroupExpand(int groupPosition) {
Log.d("onGroupExpand", "this works?");
for(int i=0; i<forumListAdapter.getGroupCount(); i++) {
if(i != groupPosition)
forumListView.collapseGroup(groupPosition);
}
}
});
forumListView.setOnGroupClickListener(new OnGroupClickListener() {
@Override
public …
Run Code Online (Sandbox Code Playgroud) android click listener expandablelistview expandablelistadapter
我正在尝试编写一个空安全的String适配器,它将这个JSON序列{"nullString": null}
化为:Model(nullString = "")
所以任何带有'null'值的JSON都会被替换为""
(假设存在这样的数据类) :data class Model(val nullString: String)
)
我写了一个自定义适配器来尝试处理这个:
class NullStringAdapter: JsonAdapter<String>() {
@FromJson
override fun fromJson(reader: JsonReader?): String {
if (reader == null) {
return ""
}
return if (reader.peek() == NULL) "" else reader.nextString()
}
@ToJson
override fun toJson(writer: JsonWriter?, value: String?) {
writer?.value(value)
}
}
Run Code Online (Sandbox Code Playgroud)
...试图解决此解析错误:
com.squareup.moshi.JsonDataException: Expected a name but was NULL at path $.nullString
Moshi解析代码:
val json = "{\"nullString\": null}"
val moshi = Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.add(NullStringAdapter()) …
Run Code Online (Sandbox Code Playgroud)