我正在使用自定义适配器与AutoCompleteTextView.它在模拟器和我的平板电脑上工作正常.但是,我的手机在横向模式下出现问题.在此模式下显示的自动完成提示是对象信息而不是文本.但是,当我选择任何项目时,字段会在相应字段中正确填充文本.
基于Android Stock Array Adapter的其他字段的自动完成工作正常.
我必须在自定义适配器中为此做些什么吗?我在SO上只看到了一个类似的问题.对该问题的一个回答是讨论覆盖toString方法,但我无法理解它在我的代码中实现.
任何指导将不胜感激?如果您需要更多信息,请与我们联系.
编辑:添加了我的自定义适配器源代码....
public class Part_Mstr_Info
{
private long part_id;
private String name, desg, org, dept;
public Part_Mstr_Info(long part_id, String name, String desg, String org, String dept)
{
this.part_id = part_id;
this.name = name;
this.desg = desg;
this.org = org;
this.dept = dept;
}
public long get_part_id() { return part_id; }
public String get_name() { return name; }
public String get_desg() { return desg; }
public String get_org() { return org; }
public String get_dept() …Run Code Online (Sandbox Code Playgroud) 我知道这可以通过使用相对布局很容易地完成,但我觉得我正在做的是正确的,并且应该使用线性布局本身给我想要的结果.但出于某种原因,当我在运行Android JB 4.1.2的Google Nexus 7上运行时,我会在列表视图项之后立即看到按钮和文本视图.如果列表视图为空,我会在屏幕顶部看到它们.难道我做错了什么??这是我的xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/attachments_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1"
android:orientation="vertical">
<ListView
android:id="@+id/mtg_attachments"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<Button
android:id="@+id/attach_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/delete"
android:textSize="22sp" />
<TextView
android:text="@string/attach_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我想创建一个类似于运行Android 2.3.3版本的7英寸平板电脑的Android虚拟设备.没有类似于SDK中可用的内容,当我在AVD设置中尝试各种组合时,它无法解决问题.我使用LCD像素高度和宽度1024 X 600.
如何在横向模式下创建类似7英寸平板电脑的虚拟设备.任何帮助是极大的赞赏...
我正在尝试构建一个应用程序,其中员工的姓名存储在表中.在特定页面上,用户可以在autocompletetextview中输入员工的姓名,并选择其中一个弹出的建议.根据选择的内容,我想在屏幕上填充其他字段.为此,我从SQL Lite数据库读取返回一个2d字符串数组,其中包含数组名称,dept,desg等...名称数组在"自动完成"视图中提供.
现在的问题是,与在onClickItemlistener方法返回的指标..这正返回对应于最终显示被点击之前的特定项目,而不是说这是通过原来的名称数组列表索引.
例如,如果我有像2d数组:
name department designation
Abc1234 Dept1 desg1
Def1234 D2 d2
Abcxyz D3 d3
Defabc D4 D5
Abcdef D6 D6
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入Abc in AutoCompleteTextView,只显示3个项目,如果我选择Abcdef,返回的位置和id是2,而原始数组中的索引是5.我希望这个5以某种方式返回,以便我可以得到相应的D6的dept和desg值..
希望我足够清楚..这是我的第二周安卓编程..所以请温柔..我已经在网上搜索足够但无法找到这个问题的答案..
编辑:::我最终创建了客户端适配器,但仍有一个问题仍然存在...当按下某个键时,我在某种程度上丢失了CustomAdapter类中ArrayList对象的值.所以基本上条件为"orig" performFiltering方法的for循环中的.size()> 0"永远不会成功,自动完成功能不起作用......
以下是我设置适配器的方法......
ArrayList<Part_Mstr_Info> mAllParts = partMstrDbHelper.getAll();
if (mAllParts != null) {
/* ac_part_id = mAllParts.get_part_id();
ac_name = mAllParts.get_name();
ac_desg = mAllParts.get_desg();
ac_org = mAllParts.get_org();
ac_dept = mAllParts.get_dept();*/
adapter = new CustomAdapter(this, R.layout.ac_name_list, mAllParts);
mName.setAdapter(adapter);
mName.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapter, View view, int index, long id) {
Part_Mstr_Info part_mstr_info = (Part_Mstr_Info) …Run Code Online (Sandbox Code Playgroud) 我试图让Hyperledger在复制的私有池模式下工作.他们的论坛没有回复,因此这里有问题.此外,问题纯粹是一个技术错误.
Hyperledger使用Phoenix,Cowboy,Elixir,Ecto,Erlang,Postgre SQL,Node.js等.主节点处理请求,在一对表中插入一行并向辅助节点广播消息.辅助节点执行类似操作,并将消息发送回主节点以继续处理.这是问题的起点.主节点现在尝试读取先前插入的行但得到nil结果.此后抛出以下异常.
** (exit) an exception was raised:
** (RuntimeError) expected :action/2 to return a Plug.Conn
(hyperledger) web/controllers/log_entry_controller.ex:1: Hyperledger.LogEntryController.phoenix_controller_pipeline/2
(hyperledger) lib/phoenix/router.ex:297: Hyperledger.Router.dispatch/2
(hyperledger) lib/phoenix/router.ex:2: Hyperledger.Router.call/2
(hyperledger) lib/hyperledger/endpoint.ex:1: Hyperledger.Endpoint.phoenix_endpoint_pipeline/1
(hyperledger) lib/plug/debugger.ex:90: Hyperledger.Endpoint."call (overridable 3)"/2
(hyperledger) lib/phoenix/endpoint/render_errors.ex:34: Hyperledger.Endpoint.call/2
(phoenix) lib/phoenix/endpoint/cowboy_handler.ex:50: Phoenix.Endpoint.CowboyHandler.upgrade/4
(cowboy) src/cowboy_protocol.erl:435: :cowboy_protocol.execute/4
Run Code Online (Sandbox Code Playgroud)
为什么主节点无法读取在广播发送到辅助节点之前插入的内容.我怀疑与陈旧的数据库连接或类似的东西有关.任何帮助将不胜感激.如果我应该分享更多信息,请告诉我.