将网址添加到列表视图

时间:2017-03-14 22:38:55

标签: java android url

我正在android studio中创建一个应用程序。 我需要使用通过短信发送的新网址更新列表视图。 如何将新网址添加到我的列表中?

这是我目前的主要代码。

public class MainActivity extends AppCompatActivity {

    ListView list;
    WebView webView;
    ArrayList<String> sites = new ArrayList<>("https://www.google.com", "https://www.yahoo.com", "https://www.apple.com");
    String [] url = {"https://www.google.com", "https://www.yahoo.com", "https://www.apple.com"};

    MyBroadcastReceiver receiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        list = (ListView)findViewById(R.id.listview);
        MyListAdapter adapter = new MyListAdapter(this, sites);
        sites.add("new site");
        adapter.notifyDataSetChanged();
        list.setAdapter(adapter);
        list.setDividerHeight(5);

        webView = (WebView)findViewById(R.id.webview);
        webView.setWebViewClient(new WebViewClient(){});

        list.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long id){
                Toast.makeText(getApplicationContext(), sites.get(position), Toast.LENGTH_SHORT).show();
                webView.loadUrl("https://www.google.com");
                webView.loadUrl(url[position]);

            }
        });

        receiver = new MyBroadcastReceiver();
        IntentFilter filter = new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
        registerReceiver(receiver,filter);
    }


}

这是myAdapterList:

public class MyListAdapter extends ArrayAdapter<String> {

    private Activity context_;
    private ArrayList<String> sites;

    //constructor
    public MyListAdapter(Activity context, ArrayList<String> sites){
        super(context,R.layout.row,sites);
        context_ = context;
        this.sites = sites;
    }

    public View getView (int position, View convertView, ViewGroup parent){
        if(convertView == null){
            LayoutInflater inflater = context_.getLayoutInflater();
            convertView = inflater.inflate(R.layout.row,null);
        }

        ViewHolder holder = (ViewHolder) convertView.getTag();

        if(holder == null){
            holder = new ViewHolder(convertView);
            holder.tv_link.setText(sites.get(position));
        }
        else{
            holder.tv_link.setText(sites.get(position));
        }
        return convertView;
    }

    private class ViewHolder{
        TextView tv_link;
        public ViewHolder(View row){
            tv_link = (TextView) row.findViewById(R.id.tv_link);
        }
    }
}

0 个答案:

没有答案
相关问题