如何在 Android 中的应用小部件中打印 ListView 的子项
How to print sub items of ListView in widget of an app in Android
我需要为我的 android 应用程序创建一个带有列表视图的小部件。所以我在 google 中搜索并找到了一个 link taht 在下面。
https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget
我按照上面提到的link。一切正常。但是我无法打印列表视图的子项。
Widget_Layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
tools:context=".MainActivity"
android:background="@drawable/widget_frame" >
<ListView
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:cacheColorHint="#00000000"
android:background="@drawable/widget_frame"
/>
</RelativeLayout>
这是 ListView 项目的布局
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:textSize="20dp"
android:minHeight="?android:attr/listPreferredItemHeight"/>
这是我们打印列表视图中所有项目的 getViewAt(int position) 函数。我使用“+”运算符和“\n”打印了项目的子项目。但我无法区分项目及其子项目,这意味着我无法为子项目赋予特定属性。谁能帮我区分子项目和项目。
getViewAt
public RemoteViews getViewAt(int position) {
RemoteViews row=new RemoteViews(mCtxt.getPackageName(),R.layout.widget_layout);
row.setTextViewText(android.R.id.text1, Names[position]+"\n"+address[position]);
}
您应该扩充另一个列表视图。所以你可以采取 subListView position ,来获取子元素。
你可以在那里找到一个很好的解决方案
我需要为我的 android 应用程序创建一个带有列表视图的小部件。所以我在 google 中搜索并找到了一个 link taht 在下面。
https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget
我按照上面提到的link。一切正常。但是我无法打印列表视图的子项。
Widget_Layout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top"
tools:context=".MainActivity"
android:background="@drawable/widget_frame" >
<ListView
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="45dp"
android:cacheColorHint="#00000000"
android:background="@drawable/widget_frame"
/>
</RelativeLayout>
这是 ListView 项目的布局
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:textSize="20dp"
android:minHeight="?android:attr/listPreferredItemHeight"/>
这是我们打印列表视图中所有项目的 getViewAt(int position) 函数。我使用“+”运算符和“\n”打印了项目的子项目。但我无法区分项目及其子项目,这意味着我无法为子项目赋予特定属性。谁能帮我区分子项目和项目。
getViewAt
public RemoteViews getViewAt(int position) {
RemoteViews row=new RemoteViews(mCtxt.getPackageName(),R.layout.widget_layout);
row.setTextViewText(android.R.id.text1, Names[position]+"\n"+address[position]);
}
您应该扩充另一个列表视图。所以你可以采取 subListView position ,来获取子元素。
你可以在那里找到一个很好的解决方案