我正在使用LinearLayout来显示一些文本和图像。我有drawable /的图像,我用ListActivity和一些onListItemClick功能来实现这一点。现在我想更改由onclick功能处理的行的图像,以显示处理状态。可以帮助我在这个问题上帮助我在运行时更改图像。
以下是我的意见。
public class ListWithImage扩展ListActivity { /** 在第一次创建活动时调用。 * /
私人SimpleCursorAdapter myAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// raj setContentView(R.layout.main);
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null);
startManagingCursor(cursor);
String[] columns = new String[] {People.NAME, People.NUMBER};
int[] names = new int[] {R.id.contact_name, R.id.contact_number};
myAdapter = new SimpleCursorAdapter(this, R.layout.main, cursor, columns, names);
setListAdapter(myAdapter);
}
@Override
protected void onListItemClick(ListView listView, View view, int position, long id) {
super.onListItemClick(listView, view, position, id);
Intent intent = new Intent(Intent.ACTION_CALL);
Cursor cursor = (Cursor) myAdapter.getItem(position);
long phoneId = cursor.getLong(cursor.getColumnIndex(People.PRIMARY_PHONE_ID));
intent.setData(ContentUris.withAppendedId(Phones.CONTENT_URI, phoneId));
startActivity(intent);
}
}
和main.xml是:
<LinearLayout
android:layout_height="wrap_content" android:orientation="vertical" android:layout_width="250px">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Name: " />
<TextView android:id="@+id/contact_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Phone: " />
<TextView android:id="@+id/contact_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
我想将该字段添加到DB。但我无法知道如何用代码更改图像。任何人都可以为我提供一个用代码绘制图像的例子,并根据运行时的条件进行更改。
答案 0 :(得分:0)
我在我的应用程序中做了同样的事情(但是我没有使用cursoradapter而是使用自定义适配器,但逻辑应该是相同的。)
我需要做的是在db中包含一个字段,该字段指定字段是否处理(或某个字段决定显示哪个图像)。然后,您需要将图像地址绑定到该字段。我不知道你是否可以使用simplecursoradapter,或者你需要实现自己的。
然后,当用户单击某个项目时,您只需将该项目设置为在数据库中处理,并告诉您的适配器它已更新。