问题描述
T 用户扫描收据并将输出放入可编辑的文本中,如果 OCR 出错,用户可以调整该文本。
我有一个“确认”按钮,在该按钮上应该获取来自这些可编辑文本字段的数据并将其放入一个名为“历史”的新片段中,该片段应该是一个表格,用于简单地存储每个新收据的数据被扫描。有 3 个简单的行“Total”、“Data”、“Store”。
如何实现这个功能?
我的 MainActivity 设置 TabBar 的代码: 类 MainActivity : AppCompatActivity() {
private lateinit var viewPager: ViewPager
private lateinit var tabs: TabLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
viewPager = findViewById(R.id.viewPager)
tabs = findViewById(R.id.tabs)
setUpTabs()
}
private fun setUpTabs(){
val adapter = ViewPagerAdapter(supportFragmentManager)
adapter.addFragment(HomeFragment(),"")
adapter.addFragment(HistoryFragment(),"")
adapter.addFragment(Scanner(),"")
viewPager.adapter = adapter
tabs.setupWithViewPager(viewPager)
tabs.getTabAt(0)!!.setIcon(R.drawable.ic_baseline_home_24)
tabs.getTabAt(1)!!.setIcon(R.drawable.ic_baseline_show_chart_24)
tabs.getTabAt(2)!!.setIcon(R.drawable.ic_baseline_receipt_24)
}
在我的 OCR 片段中,这是 Textrecognition 的代码并将其放入 TextView:
private fun textRecognitionAction() {
var text = ""
receiptsviewmodel.textDetector.process(mlkitimage)
.addOnSuccessListener {
pb.visibility = View.GONE
for (block in it.textBlocks) text += block.text + "\n"
val receipts = receiptsviewmodel.getReceipts(text)
editTotal.setText(receipts.total,TextView.BufferType.EDITABLE)
editStore.setText(receipts.store,TextView.BufferType.EDITABLE)
editDate.setText(receipts.date,TextView.BufferType.EDITABLE)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)