java - 具有项目列表的警报对话框

标签 java android android-layout

在我的 android 应用程序中,当我单击 TextView 时,我想显示一个包含项目列表的警告对话框。这怎么可能。请指导。

我把它编码为:

cus_name_txt = (TextView)findViewById(R.id.cus_name_txta);
    cus_name_txt.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Onclick_click1(cus_name_txt);
            // TODO Auto-generated method stub

        }
    }); 

    contact_no_txt = (TextView)findViewById(R.id.contact_no_txta);


    attend_by_txtbx = (EditText)findViewById(R.id.attend_by_txt);
    attend_by_txtbx.setText(My_Task.attend_by_txt);


    ticket_no_txt = (TextView)findViewById(R.id.ticket_no_txta);


    task_detail_txt = (TextView)findViewById(R.id.task_detail_txt);

如何通过单击 textView 获取项目列表的警告框。请指导。我会感谢你

最佳答案

如果您想在警告对话框中加载列表之前显示进度条,请为此使用 AsyncTask。

例如:

private class LoadingTask extends AsyncTask<String, Void, String> {
        @Override
        protected void onPreExecute(){
               super.onPreExecute();
               progressDialog.show();
        }

        @Override
        protected String doInBackground(String... str) {
            String response = "";
                    // Call Web Service here and return response

            response = API.getDealsByCategory(str[0], str[1]); 
                    // e.g.: above is my WebService Function which returns response in string
            return response;
        }
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            System.out.println("result is: "+result);


            new Thread(new Runnable() {
                @Override
                public void run() {
                    progressDialog.dismiss();
                }
            }).start();

        // SHOW THE ALERT DIALOG HERE.....  
        }
    }

像下面这样调用 AsyncTask :

LoadingTask task = new LoadingTask(); task.execute("YOUR_PARAMETER","YOUR_PARAMETER");

//==============================

只需将下面的代码放在 AsyncTask 的执行后执行中,您就会得到想要的结果。

final CharSequence[] items = {"","50","100","150","200","250","300","350","400","450","500","550","600","650","700","750","800","850","900","1000"};
        AlertDialog.Builder builder = new AlertDialog.Builder(getParent());
        builder.setTitle("Select Country");
        //builder.setI
        builder.setItems(items, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int item) {
                //Toast.makeText(getApplicationContext(), con.get(item).getCountrName(), Toast.LENGTH_SHORT).show();
                selectDistanceTV.setText(items[item]);
                System.out.println("Item is: "+items[item]);
                /*CONTRY_ID = con.get(item).getCountryId();
                stateET.requestFocus();*/
           }
        });
        AlertDialog alert = builder.create();
        alert.show();

希望对你有所帮助。

如果您需要有关如何使用 AsyncTask 的更多帮助,请参阅此处:Vogella

如有任何疑问,请评论我。

享受编码......:)

关于java - 具有项目列表的警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696479/

相关文章:

java - 线程中的异常 "AWT-EventQueue-0"java.lang.ArrayIndexOutOfBoundsException : 100

java - 如何通过 URL Android 在 ImageView 中设置图像

android - 如何根据首选项中的值设置微调器值

java - Android - 如何将 Android 手机连接到计算机的本地主机

android - 尽管 wrap_content GridView 填充父级

java - 贝叶斯分类器教程

java - 如何在 PropertyPlaceholderConfigurer 中获取 tomcat 环境变量

android - Android-手动将()写入AudioTrack,没有适当的MediaRecorder.AudioSource

java - 使 ListView 接收我正在使用 fragment 的两个文本

android - 为什么使用 View Binding 会改变布局?