在我的drawable文件夹中,我有一些图像,它们都引用完美,但是当我尝试在同一文件夹中添加具有完全相同大小的任何更多图像,并尝试引用它时,标记错误"无法转换@ drawable/picture into a drawable".我尝试使用不同名称的相同图像,它只是一直给我错误.我也尝试过不同的XML布局和相同的东西.此外,图片的名称一直是"jack","abc","question_mark",你可以看到严格按照你可以使用的字符的规则,仍然会出现错误信息.对于如何解决问题,任何建议都会很棒,谢谢.
无法将@ drawable/picture转换为drawable
我想在运行时将数字转换为2位小数(总是显示两位小数).我尝试了一些代码,但它只是如此,如下所示
20.03034 >> 20.03
20.3 >> 20.3 ( my code only rounds not converts )
Run Code Online (Sandbox Code Playgroud)
但是,我希望它能做到这一点:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
Run Code Online (Sandbox Code Playgroud)
任何有关如何做到这一点的帮助都会很棒,谢谢.
我想知道如何在文本视图(android)中为角度制作度数符号.有几个类似的问题,我尝试过但是它们似乎没有用.
<TextView
android:id="@+id/tv_counter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="20dp"
android:text="..."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="80dp"
android:textColor="#FFA500" />
Run Code Online (Sandbox Code Playgroud) 我在android中制作一个小部件,在点击时产生一个随机数.当小部件单独位于主屏幕上时,它可以完美地工作,但是当您添加多个小部件时,它们会同时生成随机数.发生的事情是,当单击一个单独的小部件时,它会更新所有小部件; 导致许多随机数.我想要的是每个小部件与其他小部件隔离; 基本上,当点击一个小部件时,它只会自动更新,而不会更新周围的其他小部件.我认为这可以通过获取当前窗口小部件的ID并仅更新该ID来实现,因为更新方法更新所有窗口小部件; 我该怎么做呢?
我的代码
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// Get all ids
ComponentName thisWidget = new ComponentName(context,
MyWidgetProvider.class);
int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
for (int widgetId : allWidgetIds) {
// Create some random data
int number = (new Random().nextInt(100));
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
Log.w("WidgetExample", String.valueOf(number));
// Set the text
remoteViews.setTextViewText(R.id.update, String.valueOf(number));
// Register an onClickListener
Intent intent = new Intent(context, MyWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.update, …Run Code Online (Sandbox Code Playgroud) 我已经成功构建了一个获取访问权限和刷新令牌的应用程序.
在我的脚本中,我检查访问令牌是否有效,如果不是,我然后使用刷新令牌获取访问权限 $client->refreshToken($refreshToken);
代码全部,
$refreshToken = '<REFRESH_TOKEN>';
$client_id = '<CLIENT_ID>';
$client_secret = '<CLIENT_SECRET>';
// Setup infomation
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setAccessType("offline");
$client->addScope("https://mail.google.com/");
// If access token is not valid use refresh token
if($client->isAccessTokenExpired()) {
// Use refresh token
$client->refreshToken($refreshToken);
} else {
// Use access token
echo $client->setAccessToken($accessToken);
}
Run Code Online (Sandbox Code Playgroud)
但是,当尝试使用刷新令牌时,我得到了一个激发:
Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }''
Run Code Online (Sandbox Code Playgroud) 在我的android项目的/ res/values文件夹中,我有一个字符串,并在我的xml文件的文本视图中引用,我想更改我的java文件中的字符串.
正如您在下面的代码中看到的,我已经创建了一个字符串变量,然后在下面我已经设置了字符串变量设置的内容,这是字符串所在的位置.我在代码中提出"here",我想在values文件夹中更改为字符串.但我不知道用什么代码来设置它.
我可以从我的java文件中更改文本视图中的文本,我知道该怎么做,但这是一种旧的方式,它设置了一个警告,所以我宁愿使用字符串,这是最好的方法.
凭借我在文本视图中更改文本的知识,我基本上已经猜到了进入这个阶段的方式,但我不知道如何进一步,任何人都可以给我一些建议,谢谢.
String string;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counter = 0;
add = (Button) findViewById(R.id.badd);
sub = (Button) findViewById(R.id.bsub);
reset = (Button) findViewById(R.id.breset);
display = (TextView) findViewById(R.id.tvdisplay);
string = (String) getString(R.string.counter);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
((///////////////here////////////////))
counter++;
}
});
Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中使用振动器方法,我已经让它在我的手机上工作,它有一个伟大的振动器.但是没有振动器的手机会发生什么.它根本不起作用吗?它会阻止应用程序运行吗?还是根本没有出现在市场上?或者我是否必须询问手机是否有振动器?
我还想知道这段代码是好还是需要调整?这是我的代码..
Vibrator vi;
vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vi.vibrate(100);
<uses-permission android:name="android.permission.VIBRATE" /> (In manifest)
Run Code Online (Sandbox Code Playgroud)
谢谢,任何帮助都会很棒.
我有以下XML布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mycloud">
<include
android:id="@+id/app_bar"
layout="@layout/tool_bar" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
包含tool_bar是:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColour"
android:paddingTop="0dp"
app:title="Noteu"
app:theme="@style/myCustomToolBarTheme"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"
>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用以下类设置工具栏时:
import android.nfc.Tag;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import it.neokree.materialtabs.MaterialTab;
import it.neokree.materialtabs.MaterialTabHost;
import it.neokree.materialtabs.MaterialTabListener;
public class MyCloud extends ActionBarActivity implements MaterialTabListener{
private Toolbar toolbar;
private MaterialTabHost tabHost;
private ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) …Run Code Online (Sandbox Code Playgroud) 我在我的Android应用程序中使用了一个服务,当一个calander激活警报时调用该服务.当服务被激活后,我希望它在OnStart()完成代码后被方法破坏.
My OnStart() method:
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Vibrator vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vi.vibrate(5000);
Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG).show();
//CODE HERE TO DESTROY SERVICE??
}
Run Code Online (Sandbox Code Playgroud)
这种低音意味着当调用服务时它会运行OnStart()方法中的代码,我希望它能够自我毁灭.任何想法,方法会做到这一点?
谢谢,杰克.
我有一个自定义的错误处理程序,但是我需要知道在准备好的语句中要在哪里测试错误。
在所有做我测试prepared(),bind(),execute()和store_result()阶段或刚刚选择阶段?
$statement = $databaseHandler->mysqli->prepare($query) or trigger_error($mysqli->error);
$statement->bind_param('s', $userIp) or trigger_error($mysqli->error);
$statement->execute() or trigger_error($mysqli->error);
$statement->store_result() or trigger_error($mysqli->error);
Run Code Online (Sandbox Code Playgroud)
我什至必须在寻找时检查错误,num_rows还是因为php不再与mysqli服务器通信而无法完成基本工作,所以什么都不会出错?
您应该停止寻找错误的原因是什么execute()?作为store_result()不工作将是PHP无法完成其工作,这将是服务器实际上没有运行?
我也看到了代码,其中该prepare()阶段仅在if语句中包含错误,这样做是否表示其他阶段中的错误将不会得到处理?准备好的阶段最有可能出错吗?