我有一个用于 recyclerview 的适配器。我从我的活动传递数组列表的地方,比如数据是具有一些数据的 ArrayList。
AlternativeAdapter alternativeAdapter= new AlternativeAdapter(AlternativeActivity.this, data);
recyclerView.setAdapter(alternativeAdapter);
Run Code Online (Sandbox Code Playgroud)
在 AlternativeAdapter 类中,我有一个文本视图和复选框。我可以用复选框显示所有文本项。
在 AlternativeAdapter 类中
public class AlternativeCurrencyAdapter extends RecyclerView.Adapter<AlternativeCurrencyAdapter.ViewHolder>{
ArrayList<String> currencyListArray;
Context context;
View view1;
ViewHolder viewHolder1;
TextView textView;
private int selectedPosition = -1;// no selection by default
public AlternativeCurrencyAdapter(Context context1, ArrayList<String> currencyListArray){
this.currencyListArray = currencyListArray;
context = context1;
}
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView username;
public CheckBox chkSelected;
public ViewHolder(View v){
super(v);
username = (TextView)v.findViewById(R.id.username);
chkSelected = (CheckBox) v.findViewById(R.id.chkSelected);
itemView.setOnClickListener(new View.OnClickListener(){
@Override
public …Run Code Online (Sandbox Code Playgroud) 如何使用回收器视图为Features和Rules下的元素创建水平滚动?
我知道对于属性类型和房间数,我可以使用两个单独的回收器视图。但是,我是否需要创建两个回收器视图来显示这些元素,因为文本元素的长度将是不均匀的,并且如果添加更多规则和功能来满足不断扩展的项目列表?
android horizontal-scrolling horizontalscrollview android-recyclerview
有没有办法在 Android.Support.Design.Widget.FloatingActionButton 中显示“子菜单”?
非常感谢!
android submenu material-design floating-action-button android-design-library
I'm new to android development in kotlin. I tried the following code to change the actionbar title from my fragment.It's not working.Please help
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity.actionBar?.title = "Example 1"
countBtn.setOnClickListener(this)
toastBtn.setOnClickListener(this)
randomBtn.setOnClickListener(this)
}
Run Code Online (Sandbox Code Playgroud)
MainActivity.kt code is as below
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
val actionBar = supportActionBar
actionBar?.title = getString(R.string.toolbar_title)
}
Run Code Online (Sandbox Code Playgroud) 我在 SQFLITE 的 onCreate 方法上添加了这个。我需要生成一个自动增量 id。我打印了 id 但该值为空。如何使用 sqflite 添加自动增量 id?
await db.execute(
"""CREATE TABLE submitRequestTable(id INTEGER PRIMARY KEY AUTOINCREMENT,equipmentId INTEGER, woDescriptionId INTEGER, details STRING, priorityId INTEGER,
workTypeId INTEGER, sourceId INTEGER, filename STRING, isOffline INTEGER, systemDate STRING, username STRING, subItemId INTEGER, status STRING)""");
}
Run Code Online (Sandbox Code Playgroud)
我这样存储数据。我没有将 id 添加到值中。我没有将值传递给id。
storeSubmitRequest(
BuildContext context,
int equipmentId,
int woDescriptionId,
String details,
int priorityId,
int workTypeId,
int sourceId,
String filename,
int isOffline,
String systemDate,
String username,
int subItemId,
String status) async {
var db = await …Run Code Online (Sandbox Code Playgroud) 当我使用 mockhttpserver 测试 http 请求时出现上述错误,以下代码是我创建服务的方式。
fun <T> getService(clazz: Class<T>): T {
val client = OkHttpClient.Builder().addInterceptor(HeaderInterceptor()).addInterceptor(HttpLoggingInterceptor().apply { level = if (BuildConfig.DEBUG) HttpLoggingInterceptor.Level.BODY else HttpLoggingInterceptor.Level.NONE })
.build()
return Retrofit.Builder()
.baseUrl(mockWebServer.url(""))
.client(client)
.addConverterFactory(GsonConverterFactory.create(GSON))
.build()
.create(clazz)
}
Run Code Online (Sandbox Code Playgroud)
这是我的测试代码。
@UninstallModules(HomePageDataModule::class)
@HiltAndroidTest
class TestHomePageViewModel {
private lateinit var viewModel: HomePageViewModel
@get:Rule
var hiltRule = HiltAndroidRule(this)
@Inject
lateinit var cpd: CompositionDao
@Inject
lateinit var csd: CompositionsDao
@Inject
lateinit var hpds: HomePageDataSource
@Inject
lateinit var ss :HomePageService
@Before
fun init() {
hiltRule.inject()
viewModel = HomePageViewModel(HomeCompositionsRepository(cpd, csd, hpds, Util.GSON)) …Run Code Online (Sandbox Code Playgroud) On updating the device OS to Android 9.0, previously this code was working fine(Xiaomi mi A2). Now, files are not being downloaded on Android Pie 9.0.
Moreover it is working fine in Oreo, Nougat , Marshmallow
Here is the code snippet:
File myDir = new File(Environment.getExternalStorageDirectory(), "MyApp");
if (!myDir.exists()) {
myDir.mkdirs();
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
Locale.getDefault()).format(new Date());
DownloadManager mgr = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
Uri downloadUri = Uri.parse(url);
DownloadManager.Request request = new DownloadManager.Request(
downloadUri);
request.setAllowedNetworkTypes(
DownloadManager.Request.NETWORK_WIFI …Run Code Online (Sandbox Code Playgroud) 我是第一次与工作经理合作,我已经成功地实施了它。
我每 30 分钟定位一次以跟踪员工。
我在数据库第一次同步时启动了我的工作管理器,但我想在每天晚上停止它。
这是MyWorker.java
public class MyWorker extends Worker {
private static final String TAG = "MyWorker";
/**
* The desired interval for location updates. Inexact. Updates may be more or less frequent.
*/
private static final long UPDATE_INTERVAL_IN_MILLISECONDS = 10000;
/**
* The fastest rate for active location updates. Updates will never be more frequent
* than this value.
*/
private static final long FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS =
UPDATE_INTERVAL_IN_MILLISECONDS / 2;
/**
* The current location.
*/ …Run Code Online (Sandbox Code Playgroud) android location alarmmanager workmanagers android-workmanager
我正在使用 Exoplayer 在播放列表中播放视频。我想在当前视频结束时自动播放下一个视频。为此,我EventListener在播放器中添加了一个。这是一个片段:
private val videoPlayerListener = object: Player.EventListener {
override fun onPlayerStateChanged(playWhenReady: Boolean, playbackState: Int) {
when(playbackState) {
Player.STATE_IDLE -> showLoadingView()
Player.STATE_READY -> hideLoadingView()
Player.STATE_BUFFERING -> showVideoProgressWheel()
Player.STATE_ENDED -> {
Log.d(TAG, "fired")
playNextVideo()
}
}
}
override fun onPlayerError(error: ExoPlaybackException?) {
// handle error event
}
}
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是我的日志显示Player.STATE_ENDED触发了两次。连锁效应是我的播放列表从
视频 1 -> 视频 3 -> 视频 5 -> 视频 7...
代替
视频 1 -> 视频 2 -> 视频 3 -> 视频 4...
我做了一些研究,我在 Github 上发现了这个问题 …
android ×10
flutter ×2
ios ×2
kotlin ×2
alarmmanager ×1
checkbox ×1
dart ×1
download ×1
exoplayer2.x ×1
location ×1
okhttp ×1
sqflite ×1
submenu ×1
unicode ×1
video-player ×1
workmanagers ×1