- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我知道有很多关于 Listviews 中的复选框的帖子,我可以诚实地说,在阅读了其中的大部分之后,它让我感到困惑和受伤的大脑。
我的代码没有扩展 ListViewActivity,但有一个 ListView 作为位于 tabhost 内的相对布局的一部分。
我已经针对 textview 和复选框尝试了 focusable=false,textview 可以正常工作,但复选框仍然会覆盖 listview 项目的焦点。
如果我只需要一个 TextView ,那么我会选择内置布局的机器人,但我需要至少 6 个 TextView ,每行都有一个复选框。
我的 Main.xml 是这样的:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost_master"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="65px"
/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="65px">
<RelativeLayout
android:id="@+id/tab1"
android:orientation="vertical"
android:layout_height="fill_parent"
android:weightSum="1" android:gravity="top" android:layout_width="fill_parent">
<TextView android:text="Morning Set Up" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></TextView>
<Button android:text="Set Time On" android:layout_height="wrap_content" android:id="@+id/startb" android:layout_width="wrap_content" android:layout_below="@+id/textView1" android:layout_alignParentLeft="true"></Button>
<Button android:text="Set Time Off" android:layout_height="wrap_content" android:id="@+id/stopb" android:layout_width="wrap_content" android:layout_alignTop="@+id/startb" android:layout_alignParentRight="true"></Button>
<Button android:layout_width="wrap_content" android:text="Set Days" android:id="@+id/mset_days" android:layout_height="wrap_content" android:layout_below="@+id/startb" android:layout_centerHorizontal="true"></Button>
<Button android:id="@+id/confirm_m" android:layout_height="wrap_content" android:text="Confirm" android:layout_width="wrap_content" android:layout_alignTop="@+id/mset_days" android:layout_alignParentLeft="true"></Button>
<Button android:id="@+id/cancel_m" android:layout_height="wrap_content" android:text="Cancel" android:layout_width="wrap_content" android:layout_alignTop="@+id/mset_days" android:layout_alignParentRight="true"></Button>
<ListView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/listView1" android:layout_below="@+id/mset_days" android:layout_alignParentLeft="true" android:layout_marginTop="34dp"></ListView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/tab2"
android:orientation="vertical"
android:layout_height="fill_parent"
android:weightSum="1" android:gravity="top" android:layout_width="fill_parent">
<TextView android:text="A Set Up" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textView1_a" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></TextView>
<Button android:text="Set Time On" android:layout_height="wrap_content" android:id="@+id/startb_a" android:layout_width="wrap_content" android:layout_below="@+id/textView1_a" android:layout_alignParentLeft="true"></Button>
<Button android:text="Set Time Off" android:layout_height="wrap_content" android:id="@+id/stopb_a" android:layout_width="wrap_content" android:layout_alignTop="@+id/startb_a" android:layout_alignParentRight="true"></Button>
<Button android:layout_width="wrap_content" android:text="Set Days" android:id="@+id/mset_days_a" android:layout_height="wrap_content" android:layout_below="@+id/startb_a" android:layout_centerHorizontal="true"></Button>
<TextView android:layout_height="wrap_content" android:text="Date / Time : \n Day \n Time" android:id="@+id/dandt_a" android:layout_width="wrap_content" android:layout_below="@+id/mset_days_a" android:layout_alignRight="@+id/mset_days_a" android:layout_marginTop="30dp"></TextView>
<TextView android:id="@+id/dandt2_a" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Along with this one as well" android:layout_below="@+id/dandt_a" android:layout_alignParentLeft="true" android:layout_marginLeft="14dp" android:layout_marginTop="44dp"></TextView>
<TextView android:layout_height="wrap_content" android:text="To see if these text boxes clash" android:id="@+id/dandt3_a" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_alignParentLeft="true"></TextView>
<Button android:id="@+id/confirm_after_a" android:layout_height="wrap_content" android:text="Confirm" android:layout_width="wrap_content" android:layout_alignTop="@+id/mset_days_a" android:layout_alignParentLeft="true"></Button>
<Button android:id="@+id/cancel_after_a" android:layout_height="wrap_content" android:text="Cancel" android:layout_width="wrap_content" android:layout_alignTop="@+id/mset_days_a" android:layout_alignParentRight="true"></Button>
</RelativeLayout>
</FrameLayout>
</TabHost>
我的 ListView 布局是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CheckBox android:text="Cancel ?" android:focusable="false" android:checked="false" android:layout_width="wrap_content" android:id="@+id/checkBox1" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></CheckBox>
<TextView android:layout_width="wrap_content" android:focusable="false" android:id="@+id/time_disp" android:layout_height="wrap_content" android:text="TextView" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/checkBox1" android:layout_marginLeft="16dp" android:layout_marginTop="15dp"></TextView>
<CheckedTextView android:layout_width="wrap_content" android:focusable="false" android:layout_height="wrap_content" android:text="CheckedTextView" android:id="@+id/checkedTextView1" android:layout_alignTop="@+id/time_disp" android:layout_alignParentRight="true" android:layout_marginRight="18dp"></CheckedTextView>
</RelativeLayout>
我的 Activity 代码是这样的:
package co.uk.sheildsatmax.layout_tester;
import android.app.Activity;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import android.widget.Toast;
import android.widget.CheckBox;
public class Layout_testerActivity extends Activity {
/** Called when the activity is first created. */
private String[] times = {"09:10","10:10","11:20","09:10","12:20","15:30","10:12"};
ListView lv;
CheckBox ticked;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabhost=(TabHost)findViewById(R.id.tabhost_master);
tabhost.setup();
TabSpec tab1 = tabhost.newTabSpec("Tab1");
morning_tab.setContent(R.id.tab1);
morning_tab.setIndicator("Tab1 Setup");
TabSpec tab2 = tabhost.newTabSpec("tab2");
after_tab.setContent(R.id.tab2);
after_tab.setIndicator("Tab2 Setup");
tabhost.addTab(tab1b);
tabhost.addTab(tab2);
lv = (ListView)findViewById(R.id.listView1);
// ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,R.layout.,R.id.time_disp,times);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_lay,R.id.time_disp,times);
lv.setItemsCanFocus(false); // this was another test attempt
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); // tried this and then realised it needed androids own layout to work
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplication().getApplicationContext(), "ID :"+Long.toString(arg3), Toast.LENGTH_LONG).show();
}
});
}
}
现在我一直在阅读有关为适配器创建一个单独的类以使复选框正常工作的信息,但这是必需的吗?如果可以的话,有人可以发布一个基本示例供我使用,因为我已阅读的所有这些链接都有真让我困惑:
如您所见,我已经阅读了很多,但它们让我更加困惑,而且似乎没有一个没有 listactivies 的例子。我在 android 1.6 中写这个
最佳答案
现在解决了这个问题,部分是我对复选框如何与 ListView 一起工作的误解以及对 ListView 行为的理解。
我最终使用了此论坛上此线程上给出的示例 -> managing multiple checkboxes
借助此论坛上的此线程 => [单击 ListView 行时勾选复选框][2]
终于让 ListView 记住在屏幕上上下滚动时使用 => Keeping the checkbox state on listview recycle 勾选了哪个复选框
关于android - 代码没有扩展 ListViewActivity,但是有一个 listview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8988097/
我尝试理解[c代码 -> 汇编]代码 void node::Check( data & _data1, vector& _data2) { -> push ebp -> mov ebp,esp ->
我需要在当前表单(代码)的上下文中运行文本文件中的代码。其中一项要求是让代码创建新控件并将其添加到当前窗体。 例如,在Form1.cs中: using System.Windows.Forms; ..
我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示? int monate = ee; d
我的网络服务器代码有问题 #include #include #include #include #include #include #include int
给定以下 html 代码,将列表中的第三个元素(即“美丽”一词)以斜体显示的 CSS 代码是什么?当然,我可以给这个元素一个 id 或一个 class,但 html 代码必须保持不变。谢谢
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我试图制作一个宏来避免重复代码和注释。 我试过这个: #define GrowOnPage(any Page, any Component) Component.Width := Page.Surfa
我正在尝试将我的旧 C++ 代码“翻译”成头条新闻所暗示的 C# 代码。问题是我是 C# 中的新手,并不是所有的东西都像 C++ 中那样。在 C++ 中这些解决方案运行良好,但在 C# 中只是不能。我
在 Windows 10 上工作,R 语言的格式化程序似乎没有在 Visual Studio Code 中完成它的工作。我试过R support for Visual Studio Code和 R-T
我正在处理一些报告(计数),我必须获取不同参数的计数。非常简单但乏味。 一个参数的示例查询: qCountsEmployee = ( "select count(*) from %s wher
最近几天我尝试从 d00m 调试网络错误。我开始用尽想法/线索,我希望其他 SO 用户拥有可能有用的宝贵经验。我希望能够提供所有相关信息,但我个人无法控制服务器环境。 整个事情始于用户注意到我们应用程
我有一个 app.js 文件,其中包含如下 dojo amd 模式代码: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
我对“-gencode”语句中的“code=sm_X”选项有点困惑。 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入库中? 只有
我为我的表格使用 X-editable 框架。 但是我有一些问题。 $(document).ready(function() { $('.access').editable({
我一直在通过本教程学习 flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
我想将 Vim 和 EMACS 用于 CNC、G 代码和 M 代码。 Vim 或 EMACS 是否有任何语法或模式来处理这种类型的代码? 最佳答案 一些快速搜索使我找到了 this vim 和 thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve this
这个问题在这里已经有了答案: Enabling markdown highlighting in Vim (5 个回答) 6年前关闭。 当我在 Vim 中编辑包含 Markdown 代码的 READM
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
pipeline { agent any stages { stage('Build') { steps { e
我是一名优秀的程序员,十分优秀!