我需要在共享首选项上保存一些字符串数组,然后才能获取它们.我试过这个:
prefsEditor.putString(PLAYLISTS, playlists.toString()); 播放列表的位置 String[]
得到:
playlist= myPrefs.getString(PLAYLISTS, "playlists");播放列表是一个String但它不起作用.
我怎样才能做到这一点 ?谁能帮我?
提前致谢.
我需要在android中检测是否有任何连接Wifi或3G(或3G+)或EDGE在android中.当有连接wifi或3G我可以发送照片到服务器,何时只是一个连接EDGE不发送到服务器.
我看到可以检测到wifi连接ConnectivityManager.TYPE_WIFI,ConnectivityManager.TYPE_MOBILE并且TelephonyManager.NETWORK_TYPE_EDGE可以检测到EDGE连接.但怎样才能检测到3G或3G +?
我开始在我的应用程序中使用导航组件,但我面临以下问题。我的第一个片段是 LoginFragment。登录成功后,显示mainFragment。我希望当用户在 mainFragment 上并按后退按钮不返回到 loginFragment 时。为此,我在 nav_graph 中添加了这两行:app:popUpTo="@+id/lovable_app_navigation"并且app:popUpToInclusive="true"效果很好。这是我的导航图:
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/app_navigation"
app:startDestination="@id/loginFragment">
<fragment
android:id="@+id/loginFragment"
android:name="com.xxx.LoginFragment"
android:label="LoginFragment"
tools:layout="@layout/login_fragment">
<action
android:id="@+id/dashboard_action"
app:destination="@id/mainFragment"
app:launchSingleTop="true"
app:popUpTo="@+id/app_navigation"
app:popUpToInclusive="true"/>
</fragment>
<fragment
android:id="@+id/mainFragment"
android:name="com.xxx.MainFragment"
android:label="MainFragment"
tools:layout="@layout/main_fragment">
<action
android:id="@+id/logout_action"
app:destination="@id/loginFragment"
app:launchSingleTop="true"
app:popUpTo="@+id/app_navigation"
app:popUpToInclusive="true"/>
</fragment>
<action
android:id="@+id/action_global_loginFragment"
app:destination="@id/loginFragment" />
</navigation>
Run Code Online (Sandbox Code Playgroud)
问题是,一段时间后,当我的会话过期时,用户在应用程序中的哪个位置、在哪个片段中都无关紧要,我必须在所有堆栈上显示 LoginFragment。我为此创建了一个全局操作action_global_loginFragment。问题是,当我导航到 LoginFragment 时,出现此错误:
java.lang.IllegalStateException: Fragment LoginFragment{1d6bd24 (829a6832-3480-4bcb-a3f6-7e2ba214d3ca)} not associated with a fragment manager.
Run Code Online (Sandbox Code Playgroud)
如果我删除popUpTo并且popUpToInclusive它工作正常,但是后退按钮功能受到影响,它会从 mainFragment 返回到 loginFragment。知道如何解决这个问题吗?提前致谢。
我需要更新某个表中的列中的值.我试过这个:
public void updateOneColumn(String TABLE_NAME, String Column, String rowId, String ColumnName, String newValue){
String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = "+newValue+" WHERE "+Column+ " = "+rowId;
db.beginTransaction();
SQLiteStatement stmt = db.compileStatement(sql);
try{
stmt.execute();
db.setTransactionSuccessful();
}finally{
db.endTransaction();
}
}
Run Code Online (Sandbox Code Playgroud)
我这样称呼这个方法:
db.updateOneColumn("roadmap", "id_roadmap",id,"sys_roadmap_status_mobile_id", "1");
Run Code Online (Sandbox Code Playgroud)
这意味着我要设置的值1列sys_roadmap_status_mobile_id时id_roadmap = id.
问题是没有任何反应.我的错误在哪里?
在我的Android应用程序中,我需要知道这种格式的电话语言:fr(用于francais),en(用于英语)等.我该怎么做?我知道我可以用这个显示语言:
Locale.getDefault().getDisplayLanguage()
Run Code Online (Sandbox Code Playgroud)
但结果是francais,英语,......
我能以某种方式获得语言的缩写吗?
我有这个代码用于播放视频 VideoView
myVideoView = (VideoView) findViewById(R.id.VideoView);
myVideoView.setVideoURI(Uri.parse(path));
myVideoView.requestFocus();
myVideoView.start();
Run Code Online (Sandbox Code Playgroud)
当视频播放完毕后,我收到消息:"抱歉,此视频无法播放".我想缓存视频播放完毕的那一刻.我怎样才能做到这一点?
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video);
Bundle extras = getIntent().getExtras();
path = extras.getString("path");
idPlaylist = extras.getString("idPlaylist");
timer = extras.getString("timer");
myVideoView = (VideoView) findViewById(R.id.VideoView);
myVideoView.setVideoURI(Uri.parse(path));
myVideoView.requestFocus();
myVideoView.start();
myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Intent i = new Intent(getBaseContext(),
com.PlayerOrange.ViewPlaylist.class);
i.putExtra("id", idPlaylist);
i.putExtra("timer", timer);
startActivity(i);
finish();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("Playing "+myVideoView.isPlaying());
if ((keyCode == KeyEvent.KEYCODE_BACK) && (myVideoView.isPlaying()==true)) {
//nothing …Run Code Online (Sandbox Code Playgroud) 我有一个带有editext的alertdialog.对于这个Edittext,我让键盘出现,我希望当用户按下确定或取消隐藏键盘时.奇怪的问题是当用户选择ok时,键盘是隐藏的,但是当选择取消时键盘不会隐藏我在两种情况下使用相同的代码.
这是我的代码:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(data);
final EditText input = new EditText(this);
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(25);
input.setFilters(FilterArray);
input.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(input, 0);
}
},200);
alert.setView(input);
alert.setPositiveButton(ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
text = input.getText().toString().trim();
Canvas c = new Canvas(bitmapResult);
drawTextImage(bitmapResult);
saveimage();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(), 0);
}
});
alert.setNegativeButton(cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, …Run Code Online (Sandbox Code Playgroud) 我想在单击ImageView时从listView中删除某一行.我的listview看起来像这样:

我希望在单击最后一个图像时删除该行.这是我的适配器:
public class UserItemAdapter extends ArrayAdapter<Photos.Record> {
private ArrayList<Photos.Record> photos;
public UserItemAdapter(Context context, int textViewResourceId, ArrayList<Photos.Record> photos) {
super(context, textViewResourceId, photos);
this.photos = photos;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.photorowlist, null);
v.setClickable(true);
v.setFocusable(true);
}
Photos.Record user = photos.get(position);
if (user != null) {
TextView photo_name = (TextView) v.findViewById(R.id.photoname);
if (photo_name != null) {
photo_name.setText(user.photo_name);
}
}
v.setOnClickListener(new …Run Code Online (Sandbox Code Playgroud) 在我的应用程序有时我收到此错误:
java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@4806a4a8
at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:667)
at android.app.ApplicationContext.unregisterReceiver(ApplicationContext.java:840)
at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:321)
at android.widget.ViewFlipper.onDetachedFromWindow(ViewFlipper.java:104)
at android.view.View.dispatchDetachedFromWindow(View.java:5891)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1076)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1074)
at android.view.ViewRoot.dispatchDetachedFromWindow(ViewRoot.java:1570)
at android.view.ViewRoot.doDie(ViewRoot.java:2565)
at android.view.ViewRoot.die(ViewRoot.java:2535)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:218)
at android.view.Window$LocalWindowManager.removeViewImmediate(Window.java:436)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3498)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3599)
at android.app.ActivityThread.access$2300(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1867)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
这是什么?我该怎么办?需要一些帮助,请...
这是一些代码:
在onCreate()方法我有这样的:
vf = (ViewFlipper) findViewById(R.id.details);
vf.setFlipInterval(3000);
vf.startFlipping();
populate();
Run Code Online (Sandbox Code Playgroud)
其中populate方法是这样的:
private void populate() {
for (int i …Run Code Online (Sandbox Code Playgroud) 我需要检测用户何时与手机交互并在最后一次用户触摸屏幕60秒后重启我的应用程序.有可能做那样的事吗?它必须作为PC的屏幕服务器.