0

在 2 列行布局中,有没有办法判断用户单击或按下了哪些列?

如果第二列可以是一个按钮,那就更好了,但我不知道如何把它变成一个按钮。这是我正在做的事情:

private List<HashMap<String, String>> fillMaps;
private SimpleAdapter simple_adapter;
ListView list = null;

然后:

    list = (ListView) findViewById(android.R.id.list);
    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

    // My data
    fillMaps = new ArrayList<HashMap<String, String>>();

    simple_adapter = new SimpleAdapter(this, fillMaps, R.layout.comment_list,
            new String[] {"train", "from"}, 
            new int[] {R.id.TRAIN_CELL,  R.id.FROM_CELL });

    // This was the middle item R.id.FROM_CELL,
    list.setAdapter(simple_adapter);        
    list.setTextFilterEnabled(true); 

我像这样填充列表:

for ( int i = 0; i < obj.length(); i++ )
                            {
                                JSONObject o = obj.getJSONObject(i);
                                HashMap<String, String> map = new HashMap<String, String>();

                                ... Some variables set here...


                                map.put("train", comment);
                                map.put("from", "Edit");

                                fillMaps.add(map);

                                discussion.add( d );
                            }
                        }

                        simple_adapter.notifyDataSetChanged();                      

这是comment_list.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:paddingTop="4dip"
 android:paddingBottom="6dip"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:textSize="13sp"
 android:weightSum="1.0"
 android:orientation="horizontal">

 <TextView android:id="@+id/TRAIN_CELL"
     android:textSize="16sp"
     android:layout_height="wrap_content"
     android:layout_width="275dip"/>



  <TextView android:id="@+id/FROM_CELL"
     android:textSize="16sp"
     android:textStyle="bold"
     android:layout_height="wrap_content" 
     android:layout_width="50dip"/>


</LinearLayout>

谢谢!

4

2 回答 2

1

你可以使用这样的东西

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:paddingTop="4dip"
 android:paddingBottom="6dip"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
   android:textSize="13sp"
 android:weightSum="1.0"
 android:orientation="horizontal">
    <Button
        android:id="@+id/TRAIN_CELL"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:textSize="16sp"
 android:layout_height="wrap_content" />

    <Button
        android:id="@+id/FROM_CELL"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/label_grid_view" />
</LinearLayout>

如果您有任何问题,请回来

于 2012-09-12T18:36:10.580 回答
1

尝试在行的两列中使用一些可点击的项目并处理这些点击事件。

假设在这两列中给出两个按钮并向它们添加 setOnClickListeners,最后检查在活动中单击哪个按钮

于 2012-09-12T18:12:03.870 回答