我需要实现一个基于EditText我的搜索功能RecyclerView.键入时必须过滤列表.
这是代码:
DisplayAdapter.java这是适配器
public class DisplayAdapter extends RecyclerView.Adapter<DisplayAdapter.MyViewHolder>{
private List<DataHolder> displayedList;
public class MyViewHolder extends RecyclerView.ViewHolder{
public TextView english_d;
public MyViewHolder(View view){
super(view);
english_d = (TextView) view.findViewById(R.id.engword);
}
}
public DisplayAdapter(List<DataHolder> displayedList){
this.displayedList = displayedList;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int position) {
// create a layout
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
DataHolder content = displayedList.get(position);
holder.english_d.setText(content.getEnglish());
}
@Override
public int …Run Code Online (Sandbox Code Playgroud) 我有一个方法,将检查RecyclerView中的最后一个元素是否完全可见用户,到目前为止,我有这个代码问题是如何检查RecyclerView是否已达到它的底部?
PS我有物品分隔物
public void scroll_btn_visibility_controller(){
if(/**last item is visible to user*/){
//This is the Bottom of the RecyclerView
Scroll_Top_Btn.setVisibility(View.VISIBLE);
}
else(/**last item is not visible to user*/){
Scroll_Top_Btn.setVisibility(View.INVISIBLE);
}
}
Run Code Online (Sandbox Code Playgroud)
更新: 这是我尝试过的尝试之一
boolean isLastVisible() {
LinearLayoutManager layoutManager = ((LinearLayoutManager)rv.getLayoutManager());
int pos = layoutManager.findLastCompletelyVisibleItemPosition();
int numItems = disp_adapter.getItemCount();
return (pos >= numItems);
}
public void scroll_btn_visibility_controller(){
if(isLastVisible()){
Scroll_Top.setVisibility(View.VISIBLE);
}
else{
Scroll_Top.setVisibility(View.INVISIBLE);
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止没有成功我认为这些方面存在问题:
int pos = layoutManager.findLastCompletelyVisibleItemPosition();
int numItems = disp_adapter.getItemCount();
Run Code Online (Sandbox Code Playgroud) 我开始了一个SwiftUI项目作为iOS 15部署目标,我被要求降低版本,所以我将其更改为 iOS 13,在解决了一些代码兼容性问题后,我在应用程序的入口点留下了一个错误,MyProjectApp.swift指出main()和Scene是WindowGroup仅适用于 iOS 14+
如何使入口点兼容低于 iOS 14.x 的版本?
这是我的入口点的代码
@main //'main()' is only available in iOS 14.0 or newer
struct MyProjectApp: App {
let persistenceController = PersistenceController.shared
var body: some Scene { //'Scene' is only available in iOS 14.0 or newer
WindowGroup { //'WindowGroup' is only available in iOS 14.0 or newer
ContentView()
.environment(\.managedObjectContext, persistenceController.container.viewContext)
}
}
}
Run Code Online (Sandbox Code Playgroud) 我检查了我的XML文件的本地历史记录,并仔细检查了我的Manifest文件,发现没有错.
在发布问题之前,我经历了很多类似的帖子和建议的答案,但发现与我的问题无关.在下面你会找到我的LOG,希望你们中的一个可以指导我完成一个解决方案!
Android资源链接失败输出:\ AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:7:错误:资源android:attr/dialogCornerRadius未找到.\ AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values-v28\values-v28.xml:11:错误:资源android:attr/dialogCornerRadius未找到.\ AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:605:错误:资源android:attr/fontVariationSettings not found.\ AndroidProjects\myApp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:605:错误:资源android:attr/ttcIndex未找到.错误:链接引用失败.
命令:C:\ Users\lucif.gradle\_caches\transforms-1\files-1.1\aapt2-3.2.1-4818971-windows.jar\c9d8fd27aeabc6968bb2cb43f288855c\aapt2-3.2.1-4818971-windows\aapt2.exe链接 - 我\ C:\ Users\lucif\AppData\Local\Android\Sdk\platforms\android-27\android.jar\--manifest\\ AndroidProjects\myApp\app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\-o\\ AndroidProjects\myApp\app\build\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\-R\\ AndroidProjects\myApp\app\build\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\--auto-add-overlay\--java\\ AndroidProjects\myApp\app\build\generated \not_namespaced_r_class_sources\debug\processDebugResources\r\--custom-package\hivemind.lab.com.myApp\-0\apk\--output-text-symbols\\ AndroidProjects\myApp\app\build\intermediates\symbols\debug\R.txt\--no-version-vectors守护进程: AAPT2 aapt2-3.2.1-4818971-windows守护进程#0
我正在尝试使用 flutter 构建一个水平按钮组,但我没有达到预期的效果,在使用 dart 构建 UI 方面我是新手,如何调整代码以达到所需的结果?
下面你可以看到我目前的进展和想要的结果!
当前按钮行
//Horizontal buttons row
Wrap(
direction: Axis.horizontal,
children: <Widget>[
ButtonTheme(
minWidth: 40.0,
child: RaisedButton(
color: Colors.white,
onPressed: () {},
child: Text("A"),
),
),
ButtonTheme(
minWidth: 40.0,
child: RaisedButton(
color: Colors.white,
onPressed: () {},
child: Text("B"),
),
),
ButtonTheme(
minWidth: 40.0,
child: RaisedButton(
color: Colors.white,
onPressed: () {},
child: Text("C"),
),
),
ButtonTheme(
minWidth: 40.0,
child: RaisedButton(
color: Colors.white,
onPressed: () {},
child: Text("D"),
),
),
ButtonTheme(
minWidth: 40.0,
child: RaisedButton(
color: Colors.white, …Run Code Online (Sandbox Code Playgroud) toolbarOptions自从升级到 Flutter 3.x 以来,已弃用并引入了的使用contextMenuBuilder,我找到了一些有关其使用的文档,但找不到任何有关如何使用它来防止交互的文档。
问题是我设置了一些参数toolbarOptions,我想将这些参数迁移到contextMenuBuilder但我无法做到这一点
toolbarOptions: ToolbarOptions(
copy: false,
cut: false,
paste: false,
selectAll: false,
),
Run Code Online (Sandbox Code Playgroud)
我尝试设置null,children但它仍然显示复制/粘贴按钮
contextMenuBuilder: (context, editable) {
return AdaptiveTextSelectionToolbar(
anchors: editable.contextMenuAnchors,
children: null
);
},
Run Code Online (Sandbox Code Playgroud) 我最近开始使用神经网络。我使用扩展的 MNIST 数据集、sklearn、Keras、numpy 和 pandas 构建了一个手写字符预测模型。主要目标是拍摄和/或上传手写文本/字符的图片,并且模型应该能够猜测。
完成训练阶段后,模型保存在文件中my_model.h5。在这一点上,我如何my_model.h5在接收作为输入图像并应该产生预测的 Python 程序中使用这个训练有素的模型(特别是)?
我正在解析一个本地JSON文件,其中包含冰岛语中很少使用的特殊字符的单词。
显示字符时,我会混淆符号而不是字符,对于其他一些字符,我只会得到一个正方形而不是符号。
我正在使用这种类型的编码 "\u00c3"
更新:我使用的字符示例:þ, æ, ý, ð
问:显示这些字符并避免显示失败的最佳方法是什么?
更新 #2: 我是如何解析的:
Future<Null> getAll() async{
var response = await
DefaultAssetBundle.of(context).loadString('assets/json/dictionary.json');
var decodedData = json.decode(response);
setState(() {
for(Map word in decodedData){
mWordsList.add(Words.fromJson(word));
}
});
}
Run Code Online (Sandbox Code Playgroud)
班上:
class Words{
final int id;
final String wordEn, wordIsl;
Words({this.id, this.wordEn, this.wordIsl});
factory Words.fromJson(Map<String, dynamic> json){
return new Words(
id: json['wordId'],
wordEn: json['englishWord'],
wordIsl: json['icelandicWord']
);
}
}
Run Code Online (Sandbox Code Playgroud)
JSON 模型:
{
"wordId": 47,
"englishWord": "Age",
//Here's a String that …Run Code Online (Sandbox Code Playgroud) 我使用纯 Javascript 将文档插入 firestore 集合中,无需身份验证。读取实时数据功能应该没有问题,但插入文档似乎不起作用。这里有什么问题吗?
这是控制台输出:
firebase-firestore.js:1未捕获的类型错误:o.indexOf不是函数在Function.hi.q(path.ts:227)在Qd.doc(database.ts:2217)在createDoc(firebase.js:26)在 HTMLFormElement.onsubmit (board.html:83)
我尝试了 JavaScript 中的另一种 onClick 方法,方法是获取按钮的元素 ID 并提交点击,这是我得到的控制台日志:
VM1764 firebase-firestore.js:1 Uncaught TypeError: o.indexOf 不是 Function.hi.q (VM1764 firebase-firestore.js:1) 的函数,位于 Qd.doc (VM1764 firebase-firestore.js:1) 的 createDoc (VM1765 firebase.js:26) 在 HTMLButtonElement.document.getElementById.onclick (VM1765 firebase.js:17)
这是 JS 后跟 HTML:
//config
var firebaseConfig = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "..."
};
firebase.initializeApp(firebaseConfig);
firebase.analytics();
document.getElementById("postBtn").onclick = function() { createDoc() };
//insertion
function createDoc() {
var usernameInput = document.getElementById("username_input").value;
var …Run Code Online (Sandbox Code Playgroud)我正在构建一行切换按钮(开/关选择器),它基本上是一行容器,每个容器都是一个类别并且是可点击的。
问:如何在选择一个类别时取消选择所有其他类别时做到这一点?
这是我构建的类别小部件:
Widget header(){
return Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Container(
padding: EdgeInsets.only(top: 4.0, left: 0.0, right: 0.0, bottom: 6.0),
child: Container(
child: Center(
child: Column(
children: <Widget>[
SizedBox(height: 4.0,),
Container(
margin: EdgeInsets.only(left: 10.0, right: 10.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
InkWell(
splashColor: Colors.blue[100],
onTap: (){},
child: Container(
padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 12.0),
decoration: BoxDecoration(
color: Colors.blueAccent[100],
borderRadius: BorderRadius.all(Radius.circular(48.0)),
),
child: Text('All',
style: TextStyle(color: Colors.white, fontSize: 10.0, fontWeight: FontWeight.w500),),
),
),
SizedBox(width: 2.0,),
InkWell(
splashColor: Colors.blue[100],
onTap: …Run Code Online (Sandbox Code Playgroud)