Hi I need help with active buttons in listview row. Idea is then i pressed button in the row it change textview. This list row must be avtivated in setOnItemLongClickListener();
Can anyone show me example or tutorial how make something like this or some example or show there is my problem? I tired for google it and wont get answer… I new in android and sorry for my language and tnx for any help 😉
my Idea.
+-----------------------------------------+
| textview | textview | textview | Button |
+----------+----------+----------+--------+
| textview | textview | textview | Button |
+-----------------------------------------+
Then button pressed textview become number like this:
+-----------------------------------------+
| textview | textview | textview | Button |
+----------+----------+----------+--------+
| textview | textview | 1 | Button | <- this button was pressed
+-----------------------------------------+
I made then button change it but problem is it change more rows. Like
+-----------------------------------------+
| textview | textview | textview | Button |
+----------+----------+----------+--------+
| textview | textview | 1 | Button | <- this button was pressed
+-----------------------------------------+
| textview | textview | textview | Button |
+----------+----------+----------+--------+
| textview | textview | 1 | Button | <- this button was **not** pressed
+----------+----------+----------+--------+
| textview | textview | textview | Button |
+----------+----------+----------+--------+
| textview | textview | 1 | Button | <- this button was **not** pressed
+-----------------------------------------+
I’m using SimpleAdapter to get list.
ListView lv = getListView();
lv.setOnItemLongClickListener(listener);
OnItemLongClickListener listener = new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, final View view, int position, long id) {
btn1 = (Button) view.findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener(){
int number= 0;
public void onClick(View v) {
// TODO Auto-generated method stub
TextView textView = (TextView) v.findViewById(R.id.textView_must_be_changed);
number++;
textView.setText(String.valueOf(number));
}
});
}
};
My Layout XML is
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/gridas"
android:layout_height="fill_parent"
android:choiceMode="multipleChoice"
android:columnCount="10"
android:descendantFocusability="beforeDescendants" >
<TextView
android:id="@+id/Textview"
android:layout_column="5"
android:layout_columnSpan="3"
android:layout_gravity="left|bottom"
android:layout_row="1"
android:layout_rowSpan="2"
android:text="4.3 kg" />
<TextView
android:id="@+id/Textview"
android:layout_column="7"
android:layout_gravity="left"
android:layout_row="1"
android:layout_rowSpan="2"
android:text="35 cm" />
<TextView
android:id="@+id/Textview"
android:layout_width="163dp"
android:layout_height="49dp"
android:layout_column="9"
android:layout_gravity="left"
android:layout_row="2"
android:gravity="left"
android:text="949.00 Lt"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:id="@+id/**textView_must_be_changed**"
android:layout_column="9"
android:layout_gravity="left|top"
android:layout_row="1"
android:text="tekstukas"
/>
<Button
android:id="@+id/button1"
android:layout_column="9"
android:layout_gravity="left|top"
android:layout_row="3"
android:text="Button"
android:focusable="false"
android:focusableInTouchMode="false"/>
</GridLayout>
you need to create custom adapter for your list view. And in getView() method of this adapter your should set on click listener for button. This listener will call when you’ve pressed row button. And in this listener you have to get row data which you will change. Mm.. I think you should get it from tag of view, which in parametor of onClick of your listener. And also you should set this tag. In following example I show how..
it’s not your situation but the same..