⑴ android 有沒有文件選擇對話框
// filename: CallbackBundle.java
package com.example.openfiledemo;
import android.os.Bundle;
// 簡單的Bundle參數回調介面
public interface CallbackBundle {
abstract void callback(Bundle bundle);
}
[java] view plain
// filename: CallbackBundle.java
package com.example.openfiledemo;
import android.os.Bundle;
// 簡單的Bundle參數回調介面
public interface CallbackBundle {
abstract void callback(Bundle bundle);
}
然後的打開文件對話框的一下封裝:
SimpleAdapter adapter = new SimpleAdapter(getContext(), list, R.layout.filedialogitem, new String[]{"img", "name", "path"}, new int[]{R.id.filedialogitem_img, R.id.filedialogitem_name, R.id.filedialogitem_path});
this.setAdapter(adapter);
return files.length;
}
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// 條目選擇
String pt = (String) list.get(position).get("path");
String fn = (String) list.get(position).get("name");
if(fn.equals(sRoot) || fn.equals(sParent)){
// 如果是更目錄或者上一層
File fl = new File(pt);
String ppt = fl.getParent();
if(ppt != null){
// 返回上一層
path = ppt;
}
else{
// 返回更目錄
path = sRoot;
}
}
else{
File fl = new File(pt);
if(fl.isFile()){
// 如果是文件
((Activity)getContext()).dismissDialog(this.dialogid); // 讓文件夾對話框消失
// 設置回調的返回值
Bundle bundle = new Bundle();
bundle.putString("path", pt);
bundle.putString("name", fn);
// 調用事先設置的回調函數
this.callback.callback(bundle);
return;
}
else if(fl.isDirectory()){
// 如果是文件夾
// 那麼進入選中的文件夾
path = pt;
}
}
this.refreshFileList();
}
}
}
[java] view plain
// filename: OpenFileDialog.java
package com.example.openfiledemo;
SimpleAdapter adapter = new SimpleAdapter(getContext(), list, R.layout.filedialogitem, new String[]{"img", "name", "path"}, new int[]{R.id.filedialogitem_img, R.id.filedialogitem_name, R.id.filedialogitem_path});
this.setAdapter(adapter);
return files.length;
}
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// 條目選擇
String pt = (String) list.get(position).get("path");
String fn = (String) list.get(position).get("name");
if(fn.equals(sRoot) || fn.equals(sParent)){
// 如果是更目錄或者上一層
File fl = new File(pt);
String ppt = fl.getParent();
if(ppt != null){
// 返回上一層
path = ppt;
}
else{
// 返回更目錄
path = sRoot;
}
}
else{
File fl = new File(pt);
if(fl.isFile()){
// 如果是文件
((Activity)getContext()).dismissDialog(this.dialogid); // 讓文件夾對話框消失
// 設置回調的返回值
Bundle bundle = new Bundle();
bundle.putString("path", pt);
bundle.putString("name", fn);
// 調用事先設置的回調函數
this.callback.callback(bundle);
return;
}
else if(fl.isDirectory()){
// 如果是文件夾
// 那麼進入選中的文件夾
path = pt;
}
}
this.refreshFileList();
}
}
}
⑵ android系統自帶的ProgressDialog對話框顯示下載文件的大小無法自定義,求解
要用ProgressDialog.setMax設置最大值.系統默認的是100的。
⑶ Android開發,點擊按鈕彈出對話框的問題
這里報錯是代碼寫法有誤,建議一行一行代碼的寫。
具體實現代碼:
1.創建對象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("請輸入"); //設置對話框標題
builder.setIcon(android.R.drawable.btn_star); //設置對話框標題前的圖標
2.創建EditText輸入框
final EditText edit = new EditText(context);
3.將輸入框賦值給Dialog,並增加確定取消按鍵
builder.setView(edit);
builder.setPositiveButton("確認", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你輸入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你點了取消", Toast.LENGTH_SHORT).show();
}
});
4.設置常用api,並show彈出
builder.setCancelable(true); //設置按鈕是否可以按返回鍵取消,false則不可以取消
AlertDialog dialog = builder.create(); //創建對話框
dialog.setCanceledOnTouchOutside(true); //設置彈出框失去焦點是否隱藏,即點擊屏蔽其它地方是否隱藏
dialog.show();
⑷ android中Dialog和PopupWindow的區別
Android中的對話框有兩種:PopupWindow和AlertDialog。它們都可以實現彈窗功能,但是他們之間有一些差別,下面總結了一點。 (1)Popupwindow在顯示之前一定要設置寬高,Dialog無此限制。 (2)Popupwindow默認不會響應物理鍵盤的back,除非顯示設置了popup.setFocusable(true);而在點擊back的時候,Dialog會消失。 (3)Popupwindow不會給頁面其他的部分添加蒙層,而Dialog會。 (4)Popupwindow沒有標題,Dialog默認有標題,可以通過dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);取消標題 (5)二者顯示的時候都要設置Gravity。如果不設置,Dialog默認是Gravity.CENTER。 (6)二者都有默認的背景,都可以通過setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));去掉。 其中最本質的差別就是:AlertDialog是非阻塞式對話框:AlertDialog彈出時,後台還可以做事情;而PopupWindow是阻塞式對話框:PopupWindow彈出時,程序會等待,在PopupWindow退出前,程序一直等待,只有當我們調用了dismiss方法的後,PopupWindow退出,程序才會向下執行。這兩種區別的表現是:AlertDialog彈出時,背景是黑色的,但是當我們點擊背景,AlertDialog會消失,證明程序不僅響應AlertDialog的操作,還響應其他操作,其他程序沒有被阻塞,這說明了AlertDialog是非阻塞式對話框;PopupWindow彈出時,背景沒有什麼變化,但是當我們點擊背景的時候,程序沒有響應,只允許我們操作PopupWindow,其他操作被阻塞。 我們在寫程序的過程中可以根據自己的需要選擇使用Popupwindow或者是Dialog。
⑸ 怎麼樣才能讓android中所彈出的對話框顯示出復選框所選擇的內容
這個還是在於你的判斷有問題,不管checkbox是否被選中,checkBoxString2=checkBox2.getText().toString();都不變的,所以你要自己判斷,如果沒有選中,那麼設置為null。明白了嗎? 也就是說你點擊取消選中的時候,它得到的還是你布局文件中設定的那個text。
⑹ Android中的checkBOX在代碼中怎麼設置至少選中一個
CheckBox和Button一樣,是android系統提供的最原始的控制項,它的優點在於,不用用戶去填寫具體的信息,只需輕輕點擊,缺點在於只有「是」和「否」兩種情況,但我們往往利用它的這個特性,來獲取用戶的一些信息。
1.CheckBox的常用屬性
checked屬性是CheckBox最重要的屬性之一,改變方式有兩種,xml中定義 android:checked="true|false" 表示選中和不選中
2.在代碼中設置選擇狀態 checkBox.setChecked(true|false);
3.獲取CheckBox的狀態 checkBox.isChecked(); true表示選中,false表示未選中
4.checkBox的應用
1.如果不確定某一組選項有幾個的時候,例如多選之前刪除,那麼要使用listView + adapter 其中checkBox存放在listView的adapter中,代碼實現比較復雜,需要自己去注冊checkBox的事件
2.如果checkBox的選項是已經知的,例如興趣愛好,已知有多少個選項的情況下,那麼你只需要用個線性布局做為容器,將checkBox都放到這個容器中
3.獲取選中的文本 如果是用listView的話,只需要自己在adapter中寫一個方法,返回選中的數據即可得到文本,如果是其它容器做的話,只能去遍歷這個布局下的所有checkBox
然後調用
if(checkBox.isChecked()){
checkBox.getText().toString(); //即可得到選中的文本
}
有關checkBox的更多用法,建議查看官網API文檔
⑺ android 多選對話框全不選時 onclick方法里的which值是多少
這個方法在你點擊對話框裡面的任何一個條目時被調用
which參數的值是在對話框列表你們你選擇條目的位置,沒有選擇的時候默認返回-1
⑻ 請問Eclipse如何打開Android工程呢
1. 還是要先打開eclipse主界面,如圖
注意事項
選擇目錄後會出現文件夾里的所有的應用程序,要先勾選,才能打開
資料:
http://www.cnblogs.com/SkyD/archive/2010/11/25/1887219.html
⑼ androidstudio怎麼導入第三方
打開android studio2.0軟體 選擇 File --> new --> Import Mole... (注意不是 Import Project 這個是導入項目 又會啟動一個窗口)