- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用以下 XML 代码为列表项创建了一个 LinearLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dip">
<TextView
android:id="@+id/txtTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="normal|bold"
android:textSize="16dip"
android:padding="5dip"
android:text="Title"
android:textColor="#001a90" />
<TextView
android:id="@+id/txtDescription"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="18dip"
android:padding="5dip"
android:text="Description"
android:textColor="#000000"
android:textIsSelectable="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:onClick="myClickHandler" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:id="@+id/separator1"
android:visibility="visible"
android:background="@android:color/darker_gray"/>
</LinearLayout>
下面的布局是包含列表的 XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/wallpaper2a"
android:id="@+id/rlMain">
<Button
android:layout_width="30dp"
android:layout_height="50dp"
android:text="A-"
android:id="@+id/btn20"
android:textSize="20dp"
android:background="@android:color/transparent"
android:textColor="#000000"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:textStyle="bold"
android:nestedScrollingEnabled="false" />
<Button
android:layout_width="50dp"
android:layout_height="50dp"
android:text="A+"
android:id="@+id/btn30"
android:textSize="30dp"
android:onClick="setTextSizeUp"
android:background="@android:color/transparent"
android:textColor="#000000"
android:layout_gravity="center_horizontal"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/btn20"
android:textStyle="bold" />
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_alignEnd="@+id/btn20"
android:layout_below="@+id/btn20"
android:layout_above="@+id/adView" />
<ImageButton
android:layout_width="25dp"
android:layout_height="50dp"
android:id="@+id/imageButton2"
android:background="@android:color/transparent"
android:src="@drawable/up"
android:onClick="scrollListUp"
android:layout_above="@android:id/list"
android:layout_toStartOf="@+id/imageButton3" />
<ImageButton
android:layout_width="25dp"
android:layout_height="50dp"
android:id="@+id/imageButton3"
android:background="@android:color/transparent"
android:src="@drawable/down"
android:onClick="scrollListDown"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/imageButton6" />
<ImageButton
android:layout_width="40dp"
android:layout_height="50dp"
android:id="@+id/imageButton6"
android:background="@android:color/transparent"
android:onClick="setTextColor"
android:layout_above="@android:id/list"
android:layout_toStartOf="@+id/btn30"
android:src="@drawable/t" />
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
该列表是从 rss 提要中填充的,下面的代码将显示它,我需要做的是在单击按钮时共享文本。我想使用该按钮,以便我可以添加多个共享选项,例如 facebook
、email
或 whatsapp
。
private void retrieveRSSFeed(String urlToRssFeed,ArrayList<RSSItem> list)
{
try
{
URL url = new URL(urlToRssFeed);
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader xmlreader = parser.getXMLReader();
srcRSSParser theRssHandler = new srcRSSParser(list);
xmlreader.setContentHandler(theRssHandler);
InputSource is = new InputSource(url.openStream());
xmlreader.parse(is);
}
catch (Exception e)
{
e.printStackTrace();
}
}
private class RetrieveRSSFeeds extends AsyncTask<Integer, Void, Void>
{
private ProgressDialog progress = null;
@Override
protected Void doInBackground(Integer... params) {
retrieveRSSFeed("..........................",itemlist);
rssadaptor = new RSSListAdaptor(rssfeedFragment.this.getActivity(), R.layout.rssitemview,itemlist,params[0]);
return null;
}
@Override
protected void onCancelled() {
super.onCancelled();
}
@Override
protected void onPreExecute() {
progress = ProgressDialog.show(
rssfeedFragment.this.getActivity(), null, "...");
super.onPreExecute();
}
@Override
protected void onPostExecute(Void result) {
setListAdapter(rssadaptor);
progress.dismiss();
super.onPostExecute(result);
}
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
}
private class RSSListAdaptor extends ArrayAdapter<RSSItem> {
private List<RSSItem> objects = null;
private Integer txtSize;
public RSSListAdaptor(Context context, int textviewid, List<RSSItem> objects,Integer txtSize) {
super(context, textviewid, objects);
this.objects = objects;
this.txtSize = txtSize;
}
@Override
public int getCount() {
return ((null != objects) ? objects.size() : 0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public RSSItem getItem(int position) {
return ((null != objects) ? objects.get(position) : null);
}
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(null == view)
{
LayoutInflater vi = (LayoutInflater)rssfeedFragment.this.getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = vi.inflate(R.layout.rssitemview, null);
}
RSSItem data = objects.get(position);
if(null != data)
{
TextView title = (TextView) view.findViewById(R.id.txtTitle);
//TextView date = (TextView)view.findViewById(R.id.txtDate);
TextView description = (TextView) view.findViewById(R.id.txtDescription);
title.setText(data.title);
//date.setText("on " + data.date);
description.setText(data.description);
description.setTextSize(txtSize);
if (txtColor == 0)
{
description.setTextColor(Color.BLACK);
}else
{
description.setTextColor(Color.WHITE);
}
}
return view;
}
}
最佳答案
一种方法是创建自定义列表适配器。因此,您必须使用 ArrayAdapter(例如)扩展您的适配器类。
然后在您的 getView(...) 中,您可以为每一行的按钮分配一个 onClickListener:
public class EventListAdapter extends ArrayAdapter<EventEntry> {
Context context;
List<EventEntry> itemList;
int layoutResID;
public EventListAdapter(Context context, int layoutResourceID, List<EventEntry> listItems) {
super(context, layoutResourceID, listItems);
this.context = context;
this.itemList = listItems;
this.layoutResID = layoutResourceID;
}
public void setCourseView(boolean courseView) {
this.courseView = courseView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ItemHolder itemHolder;
if (convertView == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
itemHolder = new ItemHolder();
convertView = inflater.inflate(layoutResID, parent, false);
itemHolder.button = (Button) convertView.findViewById(R.id.button);
} else {
itemHolder = (ItemHolder) convertView.getTag();
}
EventEntry item = (EventEntry) this.itemList.get(position);
itemHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//your stuff goes here. Maybe a callback to your activity
}
});
...
有关自定义适配器的更多信息:http://www.vogella.com/tutorials/AndroidListView/article.html#adapterown
另见 section 9.4对于我的示例代码中使用的 View 持有者模式。
关于android - 如何从 ListItem 中调用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33015497/
所以我有这个 javascript 片段,它有两个按钮可以进入全屏,一个按钮可以退出全屏。我想做到这一点,如果我不在全屏模式下,按钮会显示转到全屏模式,而当我处于全屏模式时,按钮会显示退出全屏模式..
我在自定义控件中添加了一个新属性作为可扩展属性,例如属性网格中的字体属性。在 Windows 窗体应用程序项目中使用我的自定义控件后,我在属性网格中看到一个省略号 (…) 按钮,如字体属性的“…”按钮
我在自定义控件中添加了一个新属性作为可扩展属性,例如属性网格中的字体属性。在 Windows 窗体应用程序项目中使用我的自定义控件后,我在属性网格中看到一个省略号 (…) 按钮,如字体属性的“…”按钮
我尝试将 Twitter 上的“Tweet Me”按钮 ( http://twitter.com/goodies/tweetbutton ) 添加到我的网站。然而,每当按下按钮时,我都会收到此 Jav
我试图在我的文本区域中获取一个按钮值,如果我使用 则工作正常但如果我使用那么它就不起作用了。你能找出问题所在吗? HTML 1 2 3 4 JavaScript $(document).read
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下: tb1 tbNickName1 comboBox1 tb2 tbNickName2 comboBox2 tb3 tbNickNa
我有一个表单,其中过滤器下方有按钮(应用过滤器和清除过滤器),我试图在单击“应用”按钮时显示“清除”,并在单击“清除”按钮时隐藏“清除”按钮。 下面的代码(如果我的表有的话):
excel 按钮正在工作,但是当我添加 pdf 按钮时,它添加仅显示 pdf 按钮 excel 按钮在 pdf 按钮添加后隐藏 $(document).ready(function() { $
我想创建一个 div 作为标题并分成 3 列,并按以下顺序在其中放置 2 个按钮和一个标题:Button1(左位) Title(居中) Button2(右位) 这是我为这个 div 编写的代码:
仅当选中所有框时才应禁用“允许”按钮。我该怎么做?我已经完成了 HTML 部分,如下所示。如何执行其中的逻辑部分?即使未选中一个复选框,也应禁用“允许”按钮
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
如您所知,您可以使用 2 种方法在 HTML5 中呈现按钮: 使用 void 元素 或 如果您需要内容,请使用 元素(不是空元素)。 在JSF2中,有2种方式生成按钮;与UICommand或 UIOu
我尝试根据表单元素的更改禁用/启用保存按钮。但是,当通过弹出按钮选择更改隐藏输入字段值时,保存按钮不受影响。 下面是我的代码。我正在尝试序列化旧的表单值并与更改后的表单值进行比较。但我猜隐藏的字段值无
我有用于在消息(电子邮件、短信)上输入内容的 EditText。我希望在单击 ActionDone 按钮时立即发布消息。我为此使用以下代码: message.setOnEditorActionList
我的 Android 应用程序中有一堆 EditText,每个都将 InputMethod 设置为 numberSigned。我的目标设备没有硬件键盘,而是使用软件键盘输入数字。 Android 将输
我无法以编程方式隐藏弧形菜单中的 fab 按钮。我正在使用https://github.com/saurabharora90/MaterialArcMenu在我的代码中。如何在Java中以编程方式隐藏
我已经看到这在其他类型的对话框窗口中是可能的,例如“showConfirmDialog”,其中可以指定按钮的数量及其名称;但是使用“showInputDialog”时是否可以实现相同的功能?我似乎无法
相同的按钮用于激活和停用。第一次,当代码运行按钮单击并成功“停用”时。但第二次,代码无法找到该元素。第一个案例按钮位于第二个“a”标签中,然后停用第一个“a”标签中的按钮。 案例1: Edit
是否可以将按钮的 onclick 操作设置为 JavaScript 变量?这个想法是我们用 JavaScript 控制一个表。每当点击该表的一行时,我们就会更新一个 JavaScript 变量。该 v
我想创建一个按钮,它包含左侧的文本和右侧的复选框(或任何其他组件)。我怎样才能做到这一点? 我发现我可以制作自己的 View extends Button,但是如果可以的话我应该如何实现 onDraw
我是一名优秀的程序员,十分优秀!