Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按ListView字母顺序对数据排序_Android_Listview_Alphabetical Sort - Fatal编程技术网

Android 按ListView字母顺序对数据排序

Android 按ListView字母顺序对数据排序,android,listview,alphabetical-sort,Android,Listview,Alphabetical Sort,我需要有关如何按字母顺序在ListView中列出数据的帮助。如果我向foldeData添加更多数据,那么如果我不必手动移动现有数据以按字母顺序列出它们,那就太好了 我已从MainActivity复制了部分代码: import java.util.concurrent.TimeUnit; import android.support.v7.app.ActionBarActivity; import com.google.android.gms.ads.*; import android.annot

我需要有关如何按字母顺序在ListView中列出数据的帮助。如果我向foldeData添加更多数据,那么如果我不必手动移动现有数据以按字母顺序列出它们,那就太好了

我已从MainActivity复制了部分代码:

import java.util.concurrent.TimeUnit;
import android.support.v7.app.ActionBarActivity;
import com.google.android.gms.ads.*;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity implements OnClickListener {

    TextView minPastaTimer, maxPastaTimer, tv_start, tv_stop, choice; 

    int minTid, maxTid;

    private ListView listViewArticles;

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


        Folder[] folderData = new Folder[4];    



       folderData[0] = new Folder(R.drawable.icon_music_folder, "Acomo Pepe", (getString(R.string.acomo_pepe)), "Kogetid 9-10min");
       folderData[1] = new Folder(R.drawable.icon_music_folder, "Bucatini", (getString(R.string.Bucatini)),"Kogetid 9-10min");
       folderData[2] = new Folder(R.drawable.icon_music_folder, "Bumbola", (getString(R.string.Bumbola)),"Kogetid 9-10min");
       folderData[3] = new Folder(R.drawable.icon_music_folder, "Cannelloni", (getString(R.string.Cannelloni)),"Kogetid 9-10min");





       FolderAdapter adapter = new FolderAdapter(this,
               R.layout.listview_item_row, folderData);



       listViewArticles = (ListView) findViewById(R.id.listView1);
       listViewArticles.setAdapter(adapter);

    minPastaTimer = (TextView) findViewById(R.id.minPastaTimer);
    minPastaTimer.setText("00:00:00");
    maxPastaTimer = (TextView) findViewById(R.id.maxPastaTimer);
    choice = (TextView) findViewById(R.id.tv_choice);
    maxPastaTimer.setText("00:00:00");
    Button btn_italy = (Button) findViewById(R.id.btn_italy);
    Button btn_danish = (Button) findViewById(R.id.btn_danish);

    tv_start = (TextView) findViewById(R.id.tv_start);
    tv_start.setOnClickListener(this);
    tv_stop = (TextView) findViewById(R.id.tv_stop);
    tv_stop.setOnClickListener(this);


    listViewArticles.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

           String listItemText = ((TextView) view
                    .findViewById(R.id.textViewFolderName))
                    .getText()
                    .toString();

            Toast.makeText(MainActivity.this,
                    "You clicked: " + listItemText, Toast.LENGTH_LONG)
                    .show();       

           if (listItemText.equals("Acomo Pepe")){
              minTid=10000;
              maxTid=20000;
              choice.setText("Acomo Pepe: " + (getString(R.string.acomo_pepe)));
              minPastaTimer.setText("00:08:00");
              maxPastaTimer.setText("00:09:00");
           }
           else if (listItemText.equals("Bucatini")){
            minTid=540000;
            maxTid=600000;
            choice.setText("Bucatini - Kogetid: " + (minTid/60/1000) + ("-") +(maxTid/60/1000) + ("min"));
            minPastaTimer.setText("00:09:00");
            maxPastaTimer.setText("00:10:00");
           }   
           else if (listItemText.equals("Bumbola")){
                minTid=15000;
                maxTid=30000;
                minPastaTimer.setText("00:10:00");
                maxPastaTimer.setText("00:11:00");
              }
           else if (listItemText.equals("Cannelloni")){
                minTid=15000;
            maxTid=30000;
            minPastaTimer.setText("00:11:00");
            maxPastaTimer.setText("00:12:00");
            }  


        }
    });  
import java.util.concurrent.TimeUnit;
导入android.support.v7.app.ActionBarActivity;
导入com.google.android.gms.ads.*;
导入android.annotation.SuppressLint;
导入android.annotation.TargetApi;
导入android.os.Build;
导入android.os.Bundle;
导入android.os.CountDownTimer;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.view.Window;
导入android.widget.AdapterView;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.TextView;
导入android.widget.AdapterView.OnItemClickListener;
导入android.widget.Toast;
公共类MainActivity扩展ActionBarActivity实现OnClickListener{
TextView minPastaTimer、maxPastaTimer、电视启动、电视停止、选项;
int minTid,maxTid;
私有ListView listViewArticles;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(窗口。功能\u无\u标题);
setContentView(R.layout.activity_main);
文件夹[]folderData=新文件夹[4];
folderData[0]=新文件夹(R.drawable.icon_music_文件夹,“Acomo Pepe”,(getString(R.string.Acomo_Pepe)),“Kogetid 9-10min”);
folderData[1]=新文件夹(R.drawable.icon_music_文件夹,“Bucastini”,(getString(R.string.Bucastini)),“Kogetid 9-10min”);
folderData[2]=新文件夹(R.drawable.icon_music_文件夹,“Bumbola”,(getString(R.string.Bumbola)),“Kogetid 9-10min”);
folderData[3]=新文件夹(R.drawable.icon_music_文件夹,“Cannelloni”,(getString(R.string.Cannelloni)),“Kogetid 9-10min”);
折叠式适配器=新折叠式适配器(此,
R.layout.listview_item_row,folderData);
listViewArticles=(ListView)findViewById(R.id.listView1);
setAdapter(适配器);
minPastaTimer=(TextView)findViewById(R.id.minPastaTimer);
minPastaTimer.setText(“00:00:00”);
maxPastaTimer=(TextView)findViewById(R.id.maxPastaTimer);
choice=(TextView)findViewById(R.id.tv\u choice);
maxPastaTimer.setText(“00:00:00”);
按钮btn_意大利=(按钮)findViewById(R.id.btn_意大利);
按钮btn_丹麦语=(按钮)findViewById(R.id.btn_丹麦语);
tv_start=(TextView)findViewById(R.id.tv_start);
tv_start.setOnClickListener(此);
tv_-stop=(TextView)findviewbyd(R.id.tv_-stop);
tv_stop.setOnClickListener(此);
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
字符串listItemText=((TextView)视图
.findViewById(R.id.textViewFolderName))
.getText()
.toString();
Toast.makeText(MainActivity.this,
您单击:“+listItemText,Toast.LENGTH\u LONG)
.show();
if(listItemText.equals(“Acomo Pepe”)){
minTid=10000;
maxTid=20000;
setText(“Acomo Pepe:+(getString(R.string.Acomo_Pepe));
minPastaTimer.setText(“00:08:00”);
maxPastaTimer.setText(“00:09:00”);
}
else if(listItemText.equals(“Bucastini”)){
minTid=540000;
maxTid=600000;
setText(“Bucatini-Kogetid:+(minTid/60/1000)+(“-”+(maxTid/60/1000)+(“min”);
minPastaTimer.setText(“00:09:00”);
maxPastaTimer.setText(“00:10:00”);
}   
else if(listItemText.equals(“Bumbola”)){
minTid=15000;
maxTid=30000;
minPastaTimer.setText(“00:10:00”);
maxPastaTimer.setText(“00:11:00”);
}
else if(listItemText.equals(“Cannelloni”)){
minTid=15000;
maxTid=30000;
minPastaTimer.setText(“00:11:00”);
maxPastaTimer.setText(“00:12:00”);
}  
}
});  
折叠适配器:

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class FolderAdapter extends ArrayAdapter<Folder> {

    Context mContext;
    int layoutResourceId;
    Folder data[] = null;


     // @mContext - app context

     // @layoutResourceId - the listview_item_row.xml

     // @data - the ListItem data

    public FolderAdapter(Context mContext, int layoutResourceId, Folder[] data) {

        super(mContext, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.mContext = mContext;
        this.data = data;
    }


     // @We'll overried the getView method which is called for every ListItem we have.

     // @There are lots of different caching techniques for Android ListView to
     // achieve better performace especially if you are going to have a very long ListView.

     // @convertView - the cache of list item row layout, if it is null, inflate new

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        if(convertView==null){
            // inflate the listview_item_row.xml parent
            LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
            convertView = inflater.inflate(layoutResourceId, parent, false);
        }

        // get the elements in the layout
        ImageView imageViewFolderIcon = (ImageView) convertView.findViewById(R.id.imageViewFolderIcon);
        TextView textViewFolderName = (TextView) convertView.findViewById(R.id.textViewFolderName);
        TextView textViewFolderDescription = (TextView) convertView.findViewById(R.id.textViewFolderDescription);
        TextView textViewFolderBoilTime = (TextView) convertView.findViewById(R.id.textViewFolderBoilTime);


        // Set the data for the list item. You can also set tags here if you want.

        Folder folder = data[position];

        imageViewFolderIcon.setImageResource(folder.folderIcon);
        textViewFolderName.setText(folder.folderName);
        textViewFolderDescription.setText(folder.folderDescription);
        textViewFolderBoilTime.setText(folder.folderBoilTime);

        return convertView;
    }

}
导入android.app.Activity;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.ImageView;
导入android.widget.TextView;
公共类FolderAdapter扩展了ArrayAdapter{
语境;
国际布局资源;
文件夹数据[]=null;
//@mContext-应用程序上下文
//@layoutResourceId-listview_item_row.xml
//@data-列表项数据
公共文件夹适配器(上下文mContext、内部布局资源ID、文件夹[]数据){
super(mContext、layoutResourceId、data);
this.layoutResourceId=layoutResourceId;
this.mContext=mContext;
这个数据=数据;
}
//@我们将高估getView方法,该方法为我们拥有的每个ListItem调用。
//@Android ListView可以使用多种不同的缓存技术
//实现更好的性能,尤其是当您要拥有很长的ListView时。
//@convertView-列表项行布局的缓存,如果为空,则充气新建
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
//膨胀listview\u项\u row.xml父项
LayoutFlater充气器=((活动)mContext.getLayoutFlater();
convertView=充气机。充气(layoutResourceId,父项,false);
}
//获取布局中的元素
ImageView imageViewFolderIcon=(ImageView)convertView.findViewById(R.id.imageViewFolderIcon);
TextView textViewFolderName=(TextView)convertView.find
Collections.sort(<your_list>);