textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.result_font));
Run Code Online (Sandbox Code Playgroud)
下面的代码可以工作,但是R.dimen.result_font它被视为比实际更大的值.根据屏幕尺寸,它可能约为18sp-22sp或24sp ......但这里设置的尺寸至少约为50sp.有人可以推荐一下吗?
我在应用程序中使用服务来监听用户按下他/她的电源按钮的次数.实施在所有设备上都运行良好.但是当我在Android Kitkat上测试应用程序时,我注意到了一些错误.
只要我将应用程序从最近的应用程序中移开,应用程序就不再会监听电源按钮.
这是我正在使用的代码:
public class Receiver extends Service {
Notification notification;
private static final int NOTIFICATION_ID = 0;
NotificationManager manager;
PendingIntent toOpen;
Intent intent;
private BroadcastReceiver POWER_BUTTON = new Powerbuttonrecceiver();
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(POWER_BUTTON, filter);
startNotify();
return START_STICKY;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
unregisterReceiver(POWER_BUTTON);
dismissNotification();
super.onDestroy(); …Run Code Online (Sandbox Code Playgroud) 我在我的项目中使用了三个库:
a. ViewPager
b. SherlockActionBar
c. PagerSlidingTabStrip
Run Code Online (Sandbox Code Playgroud)
在我的布局xml中,我error parsing XML在这里得到以下内容:
<com.astuetz.viewpager.extensions.PagerSlidingTabStrip
android:id="@+id/strips"
android:layout_width="match_parent"
android:layout_height="48dip"
app:indicatorColor="#FF9326"
app:textAllCaps="false" />
Run Code Online (Sandbox Code Playgroud)
我实现了与项目中使用的其他两个库相同的库.另外两个库运行顺利.错误仅存在于此内.请帮忙.
完整布局xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainSlider" >
<com.astuetz.viewpager.extensions.PagerSlidingTabStrip
android:id="@+id/strips"
android:layout_width="match_parent"
android:layout_height="48dip"
app:indicatorColor="#FF9326"
app:textAllCaps="false" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我已经尝试清理项目,将库重新添加到工作区等.
我有以下方法:
public List<String> getAllValue(){
List<String> list = new ArrayList<String>();
if(pref.getString(KEY_NUMBER1 , "").length()>2)
list.add(pref.getString(KEY_NUMBER1 , ""));
if(pref.getString(KEY_NUMBER2 , "").length()>2)
list.add(pref.getString(KEY_NUMBER2 , ""));
if(pref.getString(KEY_NUMBER3 , "").length()>2)
list.add(pref.getString(KEY_NUMBER3 , ""));
if(pref.getString(KEY_NUMBER4 , "").length()>2)
list.add(pref.getString(KEY_NUMBER4 , ""));
if(pref.getString(KEY_NUMBER5 , "").length()>2)
list.add(pref.getString(KEY_NUMBER5 , ""));
return list;
}
Run Code Online (Sandbox Code Playgroud)
我现在需要做的是将这些数字(如KEY_NUMBER1)分配给以下内容editTexts:
EditText phoneNumber1, phoneNumber2, phoneNumber3, phoneNumber4, phoneNumber5;
Run Code Online (Sandbox Code Playgroud)
作为使用Lists的新手,我很难找到一种循环方式并为这些editTexts赋值,比如
phoneNumber1.setText(KEY_NUMBER1);
phoneNumber2.setText(KEY_NUMBER2);
phoneNumber3.setText(KEY_NUMBER3);
Run Code Online (Sandbox Code Playgroud) 我有以下类SplashActivity.java:
public class SplashScreen extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
Thread timer = new Thread(){
public void run(){
try{
sleep(5000);
}catch(InterruptedException e)
{
e.printStackTrace();
}
finally{
Intent tutorial = new Intent(SplashScreen.this, TutorialOne.class);
startActivity(tutorial);
}
}
};
timer.start();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望此活动仅在首次在移动设备上首次安装应用时加载一次.作为Android的新手,我对此一无所知.我读到了SharedPreferences要使用的地方,但是不了解实施情况.关于这项活动的事情是,活动必须作为Launcher第一次使用时,这才是真正让我困惑的事情.因为在清单文件中我宣布另一个活动,在我的情况下将是MainPage.java.那我怎么能实现这个逻辑?难道我呼吁SplashActivity的MainPage还是有别的东西,必须做的?请帮助别人?
有人可以写下代码来实现这个逻辑吗?
假设在我的LinearLayout(比如parentLayout)中有另外5个LinearLayouts(比如childLayout),其中只有其中一个可见.其他布局依赖于某些外部事件以使其可见.如何计算parentLayout中可见的childLayout数?
在Android中是新手,我在处理以下内容时遇到问题:
public String[] getContacts(){
Cursor cursor = getReadableDatabase().rawQuery("SELECT name FROM contacts", null);
String [] names = {""};
for(int i = 0; i < cursor.getCount(); i ++){
names[i] = cursor.getString(i);
}
cursor.close();
return names;
}
Run Code Online (Sandbox Code Playgroud)
以下给出了以下错误:
09-18 10:07:38.616: E/AndroidRuntime(28165): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sqllitetrial/com.example.sqllitetrial.InsideDB}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 5
Run Code Online (Sandbox Code Playgroud)
我试图将光标内的数据提取到一个数组.有人可以帮我实现.
我正在尝试Camera API以下操作:
一种。为拍摄的图像设置目录(用于startActivityForResult)
b。设置位图,以便将图像保存到应用程序本身后即可显示。
这是以下代码:
设置目录。
private static File getOutputMediaFile(int type) {
// External sdcard location
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
IMAGE_DIRECTORY_NAME);
// Create the storage directory if it does not exist
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d(IMAGE_DIRECTORY_NAME, "Oops! Failed create "
+ IMAGE_DIRECTORY_NAME + " directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
Locale.getDefault()).format(new Date());
File mediaFile;
if (type == MEDIA_TYPE_IMAGE) { …Run Code Online (Sandbox Code Playgroud) 我知道我可以创建一个片段,并通过标签或ID将其添加。是否可以选择使用其中一个?有什么理由使我我要在另一个上使用?
model = new ModelFragment();
//tag
getSupportFragmentManager().beginTransaction().add(model, "tag").commit();
//id
getSupportFragmentManager().beginTransaction().add( 4, model).commit();
Run Code Online (Sandbox Code Playgroud) 以下是我目前用于listView的代码:
private class Asyncprojectlist extends AsyncTask<Void, Void, Void>{
JSONArray JSar;
JSONObject JSob;
String project_title, project_sector;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(Allprojects.this);
progressDialog.setCancelable(false);
progressDialog.setMessage("Loading...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setProgress(0);
progressDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
UserFunctions user = new UserFunctions();
JSob = user.allprojects();
try {
JSar = JSob.getJSONArray("data");
} catch (JSONException e1) {
e1.printStackTrace();
}
for(int i=0; i<JSar.length(); i++){
try {
JSONObject newobj = JSar.getJSONObject(i);
project_title = newobj.getString("title");
project_sector = newobj.getString("sector");
HashMap<String, String> single = new HashMap<String, String>();
single.put("title", …Run Code Online (Sandbox Code Playgroud) 一个错误:
09-26 13:09:38.551: E/AndroidRuntime(25966): FATAL EXCEPTION: main
09-26 13:09:38.551: E/AndroidRuntime(25966): java.lang.ClassCastException: java.util.HashMap
09-26 13:09:38.551: E/AndroidRuntime(25966): at com.example.customlayoutlistview.MainActivity$1.onItemClick(MainActivity.java:79)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.widget.ListView.performItemClick(ListView.java:3584)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1846)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.os.Handler.handleCallback(Handler.java:587)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.os.Handler.dispatchMessage(Handler.java:92)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.os.Looper.loop(Looper.java:130)
09-26 13:09:38.551: E/AndroidRuntime(25966): at android.app.ActivityThread.main(ActivityThread.java:3687)
09-26 13:09:38.551: E/AndroidRuntime(25966): at java.lang.reflect.Method.invokeNative(Native Method)
09-26 13:09:38.551: E/AndroidRuntime(25966): at java.lang.reflect.Method.invoke(Method.java:507)
09-26 13:09:38.551: E/AndroidRuntime(25966): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
09-26 13:09:38.551: E/AndroidRuntime(25966): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
09-26 13:09:38.551: E/AndroidRuntime(25966): at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
正在以下方法实现中找到: …