java - 如何在不点击任何内容的情况下将 json 数据传递到新活动和自动搜索中的搜索视图?
问题描述
我正在设置一个应用程序,让用户点击一所学校并获得该学校的SAT分数。我正在从 Jsons 获取所有数据。我希望用户点击学校,并将“dbn”文本传递给下一个活动,并将“dbn”文本放入搜索视图。
在我的 searchview 所在的第二个 Activity 中,数据被放入 SearchView 但列表不会更新,直到我单击两次以退出 SearchView。我只想让 SearchView 输入文本并进行搜索,而无需用户触摸任何东西。
MyViewHolderActivity
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int
i) {
View view ;
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(R.layout.school_row_item, viewGroup, false);
final MyViewHolder viewHolder = new MyViewHolder(view);
viewHolder.layout_school.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
Intent i = new Intent(mContext, SATActivity.class);
i.putExtra("dbn",
mDataSchool.get(viewHolder.getAdapterPosition()).getDbn());
mContext.startActivity(i);
}
});
return viewHolder;
第二次活动
@Override
public boolean onCreateOptionsMenu(Menu menu) {
String dbn = getIntent().getExtras().getString("dbn");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.search);
searchItem.expandActionView();
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setQuery(dbn, true);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return false;
}
@Override
public boolean onQueryTextChange(String s) {
s = getIntent().getExtras().getString("dbn");
myadapter.getFilter().filter(s);
return true;
}
});
return true;
}
我希望用户从第一个活动中单击 RecyclerView 项目并将“dbn”信息发送到第二个活动搜索视图并让它搜索和更新列表,而无需用户触摸任何东西。
按照建议的链接更新更新的代码。数据被发送到 searchview 但它不会搜索和更新列表,除非我按两次。
解决方案
推荐阅读
- mysql - 从表mysql创建排行榜作为视图
- google-api - Google API 凭据在一周后过期
- acumatica - 如何访问 Acumatica 业务逻辑中的表的扩展
- python - 关于语句中的 grep "-i" 选项
- pandas - 如何在没有额外信息的情况下在 pandas 中打印计算值
- python - 编写 python 代码来可视化我的数据集
- python - 向文件写入/读取位串
- javascript - Discord 令牌、用户 ID、频道 ID 等是如何创建的?
- react-native - react-native-keychain 在使用 getGenericPassword 函数时崩溃
- swift - 仅显示最近一小时内创建的 Firebase 中的 Mapkit 注释