Я использовал AsyncTask
для выполнения моего ListView.Кнопка прослушивателя в ListView
public class SIPSettingsFragment extends ListFragment implements View.OnClickListener, AsyncResponse {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_sipsettings, container, false);
new DownloadJSON().execute();
return rootView;
}
public class DownloadJSON extends AsyncTask<Void, Void, Void> {
/*
some code
*/
@Override
protected void onPostExecute(Void result){
super.onPostExecute(result);
if (pDialog.isShowing())
pDialog.dismiss();
listView = (ListView) getActivity().findViewById(android.R.id.list);
adapter = new SimpleAdapter(
getActivity(),
usersList,
R.layout.sipuser_list_item,
new String[] { TAG_USERNAME, TAG_ADDR, TAG_STATE },
new int[] { R.id.username, R.id.addr, R.id.state}
);
((SimpleAdapter) adapter).notifyDataSetChanged();
setListAdapter(adapter);
Log.d("lab", "Done");
}
И мой XML
fragment_sipsettings.xml
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/userListLayout"
android:layout_gravity="center_horizontal">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@android:id/list" />
</LinearLayout>
sipuser_list_item.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Username: "
android:layout_alignParentLeft="true"
android:id="@+id/usernameSIP" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/username"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/usernameSIP" />
<Button
android:id="@+id/deleteSIPUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete user"
android:layout_alignParentRight="true"/>
</RelativeLayout>
Список с кнопках отображаются корректно. Как реализовать кнопку OnClickListerer для кнопки от sipuser_list_item.xml
?
Edit:
Решаю мой вопрос, расширить SimpleAdapter
и переопределить getView()
в AsyncTask
@Krupal шаха и @cylon
возможно дубликат [Как установить onclicklistener для кнопки внутри ListView в Android?] (Http://stackoverflow.com/questions/13915559/how-to-set-a-onclicklistener-for-button -inside-The-ListView-в-андроида) – 0X0nosugar