在新建AlterDialog中,点击选择铃声按钮,弹出对话框,但是改对话框是白色的,只有点击列表选项的一瞬间才看得到内容,求大侠解释啊。截图: final Builder b = new AlertDialog.Builder(this);
musicList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("click", "成功");
musicFileList = new ArrayList<File>();
adapter.clear();
searchMusci(path);
b.setAdapter(adapter, new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
musicPath=musicFileList.get(arg1).getAbsolutePath().toString();
}
});
b.create().show();
}
});
musicList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("click", "成功");
musicFileList = new ArrayList<File>();
adapter.clear();
searchMusci(path);
b.setAdapter(adapter, new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
musicPath=musicFileList.get(arg1).getAbsolutePath().toString();
}
});
b.create().show();
}
});
解决方案 »
- RadioGroup问题!!(求助)
- 请问下,这种控件比较专业的叫法是什么,Android中如何实现
- 外包:iphone andriod手机通讯录web同步功能扩展开发
- traceview的一点问题
- 进入Activity怎么总的加载一个按钮的onclick事件
- android 有像J2ME中drawRegion的函数吗?
- 在Android手机中怎么添加StatusBar右侧的图标和配置步骤,急
- 像微信聊天页面的listview要使得最底部出现新内容,旧的内容都往上滚动,怎么实现
- 问一个Button数组的问题
- 用android studio将html5封装成apk
- 一般用的SDK版本是2.1吗?
- Android应用部署与测试的疑问,请教......
值得怀疑
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
public class SpecialAlarm extends Activity {
static List<File> musicFileList;
static String musicPath;
AlarmManager aManager;
Calendar currentTime = Calendar.getInstance();
ArrayAdapter<String> adapter;
File path;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button addAlarm = (Button)findViewById(R.id.add);
Button gesture = (Button)findViewById(R.id.gesture);
Button musicList = (Button)findViewById(R.id.musicList);
adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
final Builder b = new AlertDialog.Builder(this);
path = Environment.getExternalStorageDirectory();
// 获取AlarmManager对象
aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
addAlarm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View source)
{
Calendar currentTime = Calendar.getInstance();
// 创建一个TimePickerDialog实例,并把它显示出来。
new TimePickerDialog(SpecialAlarm.this,
0, // 绑定监听器
new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker tp, int hourOfDay,
int minute)
{
// 指定启动AlarmActivity组件
Intent intent = new Intent(SpecialAlarm.this
, RecogniseGesture.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
SpecialAlarm.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.HOUR , hourOfDay);
c.set(Calendar.MINUTE , minute);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(SpecialAlarm.this ,
"闹铃设置成功啦" , 3000).show();
}
}, currentTime.get(Calendar.HOUR_OF_DAY)
, currentTime.get(Calendar.MINUTE), false)
.show();
}
});
gesture.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(SpecialAlarm.this, AddGesture.class);
startActivity(intent);
}
});
musicList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.d("click", "成功");
musicFileList = new ArrayList<File>();
adapter.clear();
searchMusci(path);
b.setAdapter(adapter, new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
musicPath=musicFileList.get(arg1).getAbsolutePath().toString();
}
});
b.create().show();
}
});
}
public void searchMusci(File file) {
File[] files = file.listFiles();
for(int i=0; i<files.length; i++) {
if(files[i].isDirectory()) {
searchMusci(files[i]);
}else if(files[i].getName().endsWith(".mp3")){
musicFileList.add(files[i]);//获得MP3文件的列表
adapter.add(files[i].getName().toString());
Log.d("search", "成功");
}
}
}
}
先用ListView的方式加载Adapter,再将AlertDialog设置View,代码如下:import java.io.File;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TimePicker;
import android.widget.Toast;
public class SpecialAlarm extends Activity {
static List<File> musicFileList;
static String musicPath;
AlarmManager aManager;
Calendar currentTime = Calendar.getInstance();
ArrayAdapter<String> adapter;
File path;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub super.onCreate(savedInstanceState);
setContentView(R.layout.main); Button addAlarm = (Button)findViewById(R.id.btn1);
Button gesture = (Button)findViewById(R.id.btn2);
Button musicList = (Button)findViewById(R.id.btn3); adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
final AlertDialog.Builder b = new AlertDialog.Builder(this);
path = Environment.getExternalStorageDirectory();
final ListView lv= new ListView(this);
// 获取AlarmManager对象
aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);
addAlarm.setOnClickListener(new OnClickListener() { @Override public void onClick(View source)
{
Calendar currentTime = Calendar.getInstance();
// 创建一个TimePickerDialog实例,并把它显示出来。
new TimePickerDialog(SpecialAlarm.this,
0, // 绑定监听器
new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker tp, int hourOfDay,
int minute)
{
// 指定启动AlarmActivity组件
Intent intent = new Intent(SpecialAlarm.this
, RecogniseGesture.class);
// 创建PendingIntent对象
PendingIntent pi = PendingIntent.getActivity(
SpecialAlarm.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
// 根据用户选择时间来设置Calendar对象
c.set(Calendar.HOUR , hourOfDay);
c.set(Calendar.MINUTE , minute);
// 设置AlarmManager将在Calendar对应的时间启动指定组件
aManager.set(AlarmManager.RTC_WAKEUP
, c.getTimeInMillis(), pi);
// 显示闹铃设置成功的提示信息
Toast.makeText(SpecialAlarm.this ,
"闹铃设置成功啦" , 3000).show();
}
}, currentTime.get(Calendar.HOUR_OF_DAY)
, currentTime.get(Calendar.MINUTE), false)
.show();
}
}); gesture.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(SpecialAlarm.this, AddGesture.class);
startActivity(intent);
}
});