<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@ +id/text_view" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <Button android:id="@+id/btn_position" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
import android.os.Bundle; import android.app.ListActivity; public class MainActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] objects = new String[] {"iOS", "Windows Mobile", "Windows Phone", "Android", "Symbian", "Java", "Ubuntu", "Windows", "Linux", "Mac OS", "DOS", "ChromeOS"}; MyListAdapter adapter = new MyListAdapter(this, objects); setListAdapter(adapter); } }
import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MyListAdapter extends ArrayAdapter<String> implements OnClickListener { private Context context; private String[] objects; public MyListAdapter(Context c, String[] data) { super(c, IGNORE_ITEM_VIEW_TYPE, data); context = c; objects = data; } public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.row, null, true); TextView text_view = (TextView) view.findViewById(R.id.text_view); text_view.setText(objects[position]); text_view.setOnClickListener(this); Button btn_position = (Button) view.findViewById(R.id.btn_position); btn_position.setTag(String.valueOf(position)); btn_position.setOnClickListener(this); return view; } public void onClick(View view) { if (view.getId() == R.id.btn_position) { Toast.makeText(context, "position = " + view.getTag().toString(), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "onListItemClick", Toast.LENGTH_SHORT).show(); } }
Source: https://habr.com/ru/post/180969/
All Articles