android DeviceClickListener 和onActivityCreated的一个问题

devilhy1986 2014-01-24 12:48:16
想同时选择list中的所有或者几个单位。
请大神们帮帮忙。

package com.example.android.wifidirect.discovery;

import android.app.ListFragment;
import android.content.Context;
import android.net.wifi.p2p.WifiP2pDevice;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

/**
* A simple ListFragment that shows the available services as published by the
* peers
*/
public class WiFiDirectServicesList extends ListFragment {

WiFiDevicesAdapter listAdapter = null;

interface DeviceClickListener {
public void connectP2p(WiFiP2pService wifiP2pService);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.devices_list, container, false);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
listAdapter = new WiFiDevicesAdapter(this.getActivity(),
android.R.layout.simple_list_item_2, android.R.id.text1,
new ArrayList<WiFiP2pService>());
setListAdapter(listAdapter);
}

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
((DeviceClickListener) getActivity()).connectP2p((WiFiP2pService) l
.getItemAtPosition(position));
((TextView) v.findViewById(android.R.id.text2)).setText("Connecting");

}

public class WiFiDevicesAdapter extends ArrayAdapter<WiFiP2pService> {

private List<WiFiP2pService> items;

public WiFiDevicesAdapter(Context context, int resource,
int textViewResourceId, List<WiFiP2pService> items) {
super(context, resource, textViewResourceId, items);
this.items = items;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(android.R.layout.simple_list_item_2, null);
}
WiFiP2pService service = items.get(position);
if (service != null) {
TextView nameText = (TextView) v
.findViewById(android.R.id.text1);

if (nameText != null) {
nameText.setText(service.device.deviceName + " - " + service.instanceName);
}
TextView statusText = (TextView) v
.findViewById(android.R.id.text2);
statusText.setText(getDeviceStatus(service.device.status));
}
return v;
}

}

public static String getDeviceStatus(int statusCode) {
switch (statusCode) {
case WifiP2pDevice.CONNECTED:
return "Connected";
case WifiP2pDevice.INVITED:
return "Invited";
case WifiP2pDevice.FAILED:
return "Failed";
case WifiP2pDevice.AVAILABLE:
return "Available";
case WifiP2pDevice.UNAVAILABLE:
return "Unavailable";
default:
return "Unknown";

}
}

}
...全文
187 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
devilhy1986 2014-01-24
  • 打赏
  • 举报
回复
有兴趣的大神们可以给我发邮件dihy.315@gmail.com

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧