CursorAdapter onitem点击列表视图

时间:2013-12-14 09:06:15

标签: android android-listview simplecursoradapter android-cursoradapter onitemclick

您好我正在开发一个带有CursorAdapter的Android应用程序,用于加载listview。在listview项目的onItemClick,我正在尝试开始对话活动。

    adapter = new ConversationAdapter(MainActivity.this, cursor);
    list.setAdapter(adapter);


    list.setOnItemClickListener(new OnItemClickListener() 
    {
        public void onItemClick(AdapterView<?> parent, View view, int position, long arg3) 
        {
            Cursor cur = (Cursor) adapter.getItem(position);
            cur.moveToPosition(position);
            id = cur.getString(cur.getColumnIndexOrThrow("_id"));

            Intent intent = new Intent(MainActivity.this, DialogueActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString ("id", id);
            intent.putExtras(bundle);

            startActivity(intent);
        }
    });

我只使用没有finish()的startActivity。问题是要在后面显示的列表视图消失,只有一个黑屏。不确定我需要做什么,以便listview显示在DialogueActivity的背景中。

enter image description here

列表视图项的

onItemClick显示如下

enter image description here

main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".EaseSms" >

<LinearLayout
    android:id="@+id/linearlayoutlistSMS"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".88"
    android:orientation="vertical"
    android:paddingBottom="3dp" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:cacheColorHint="#00000000"
        android:divider="#000000"
        android:dividerHeight="5dp" >
    </ListView>

    <TextView
        android:id="@+id/Nosms"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="No SMS to display"
        android:textColor="#FFFFFF"
        android:textSize="28dp"
        android:textStyle="bold"
        android:visibility="gone" />
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayoutCreateMessage"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight=".12"
    android:gravity="center"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/createmsg"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/newcreatesms"
        android:gravity="center"
        android:orientation="horizontal" >
    </LinearLayout>
</LinearLayout>

dialogue_activity.xml

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayoutdeleteall"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight=".33"
    android:background="@drawable/cal_sms_bg"
    android:gravity="center|left"
    android:orientation="vertical"
    android:paddingTop="5dp" >

    <ImageView
        android:id="@+id/edit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@null"
        android:src="@drawable/newdeleteconversation"
        android:visibility="visible" />
</LinearLayout>

</LinearLayout>

请帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

试试此代码..

getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
setContentView(R.layout.activity);

中的DialogueActivity.class之前

enter image description here