在新建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();
}
});
解决方案 »
- 安卓平台最好的中国象棋,让智力游戏充满趣味性!既可以通过网络和棋友对奕,也可以和电脑对战,还拥有棋谱播放室、打谱等功能。
- google map api打不开了,求解
- android真机怎么连接PC服务器
- 输入法问题!EditText的属性InputMethod等问题
- Eclipse 在debug android程序的时候找不到源文件。。。
- 安卓软件升级是重新安装还是打补丁啊?
- android的几个问题
- 有没有做过android蓝牙的? android蓝牙必须要两边都装应用吗 android能不能向现有的蓝牙设备传递数据?
- 新手,Android打开SQLite问题
- Activity下使用Fragment和View的有什么不同?
- 一般用的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);
}
});