正如我们所知道的Android
,我们正在使用的switch
语句不同的view
下面一样,我们用来implement
View.OnClickListener
获取onClick
接口的方法来执行任何任务
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.imgBack:
///DO SOME THING HERE
break;
case R.id.btnSubmit:
///DO SOME THING HERE
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的相同的东西Kotlin
,通过实现 View.OnClickListener
和获得如下的覆盖方法
class FeedBackActivity : AppCompatActivity(), View.OnClickListener {
override fun onClick(p0: View?) {
/// HOW CAN I USE THE SWITCH STATEMENT TO DISTINGUISH THE VIEW CLICK
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.feed_back_screen)
imgBack.setOnClickListener(this)
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码我想用同样的方法switch
来区分不同的视图点击.我怎样才能将其存档 …
我正在写文件的数据,我正在使用ArrayList
它但我的主要问题是如何在文本文件中添加新行.有可能做到这一点.
以这种方式,当第一个ArrayList
写入文本文件的数据比在新行中自动ArrayList
写入下一个数据时
final String FILES = "/MY_FILE_FOLDER";
String path= Environment.getExternalStorageDirectory().getPath()+FILES; // Folder path
File folderFile = new File(path);
if (!folderFile.exists()) {
folderFile.mkdirs();
}
File myFile = new File(folderFile, fileName+".doc");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
for (int i = 0; i < getdata.size(); i++) {
myOutWriter.append(getdata.get(i));
}
myOutWriter.close();
fOut.close();
Toast.makeText(getBaseContext(),
"Done writing SD 'mysdfile.txt'",
Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud) 我ImageView
这里面的CardView
下面在我的代码.我的ImageView
scaleType ="fitXY"不适用于棒棒糖前设备.但它在Lollipop设备上看起来更好 .请看下面的图像.
正如我们在上面的图像中看到的那样,在我想要移除的图像视图周围有白色填充,我希望在pre-lolipop和post lolipop设备上看起来都相似.请帮我解决问题.谢谢 :)
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_marginRight="10dp"
android:layout_marginTop="6dp"
app:cardCornerRadius="10dp"
card_view:cardUseCompatPadding="false"
>
<ImageView
android:id="@+id/imgChat"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
/>
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud) android android-imageview android-4.4-kitkat android-cardview android-5.0-lollipop
我Bottomnavigationview
在我的应用程序中使用for标签栏,为此,我正在使用以下代码。请检查一下。
布局:-
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemTextColor="@android:color/black"
app:menu="@menu/bottom_navigation_main" />
Run Code Online (Sandbox Code Playgroud)
我从中得到以下结果,请检查它的图像。
但是问题是,我需要的自定义项目Bottomnavigationview
,如下面的图像中所示,该项目的首页上有红色 TextView
计数Bottomnavigationview
,请检查以下图像。
我已经搜索了它,并获得了它的第三方库,它能够创建我想要的视图。请检查它的库。单击此处。不能不使用任何第三方库而仅Bottomnavigationview
使用它吗?
我在此处搜索过SO,但未获得预期结果,请检查我访问过的以下链接。
1.第一链接
2.第二链接
3.第三链接
4.第四链接
5.第五链接
请帮助我解决这个问题。谢谢 :)
我将约束布局(android.support.constraint.ConstraintLayout
)用作XML文件中的主要布局。当我们得到布局的两个视图时(一个用于用户视图,第二个用于拖放视图并提供它们之间的关系)。但是我只得到一个完全空白的窗口,如下所示:-
在我的布局中使用任何视图时出现此错误。请检查下图
我的布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteY="25dp"
tools:layout_editor_absoluteX="0dp">
<ImageView
android:id="@+id/image_shot"
android:layout_width="0dp"
android:layout_height="wrap_content"
tools:layout_editor_absoluteY="0dp"
tools:layout_editor_absoluteX="0dp" />
</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以下解决方案,但是对我来说不起作用,请检查我搜索过的链接
请帮助我解决这个问题。谢谢
我正在使用 dagger,并且必须更新 中的语言环境attachBaseContext
,activity
我将语言环境更新逻辑保留在 LocaleManager 中,并且 LocaleManager 实例已经在 appModule 中,当我尝试在 AttachBaseContext 中使用此 LocaleManager 实例时,我得到空指针异常作为活动的注射发生在attachBaseContext
内部 之后onCreate()
。
我尝试了一个带有对齐图标的列,但它没有正确显示
如果有人有任何想法可以提供帮助。这将不胜感激。谢谢
这是我试过的代码
List<Widget> temp = [];
listAirline.map((airline) {
listAirlineName.map((item) {
if (airline.name == item) {
temp.add(
Column(
children: <Widget>[
Container(
height: 20,
decoration: BoxDecoration(
color: Colors.white,
borderRadius:
BorderRadius.all(Radius.elliptical(100.0, 60.0)),
),
child: Image.asset(
"images/Airlines/" + airline.id + ".jpg",
fit: BoxFit.fitWidth,
),
),
Align(
alignment: Alignment.bottomRight,
child: Icon(
Icons.remove_circle,
color: Colors.white,
),
)
],
),
);
}
}).toList();
}).toList();
return temp;
}```
Run Code Online (Sandbox Code Playgroud) 在调试另一个问题时,我意识到我onCreateView
的一个活动的方法被调用了两次.我是编程的新手,我不完全理解android
在活动加载时如何调用这些方法,但对我来说它似乎不会被调用两次.消除了我的大部分代码,我仍然会看到我的System.out
消息两次.
public class AddCourse extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_course);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new AddCourseFragment()).commit();
}
}
public static class AddCourseFragment extends Fragment {
View rootView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_add_course,
container, false);
System.out.println("I see this TWICE!!!!");
return rootView;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这几乎与我的主要活动实现完全一样,但是那个没有经过onCreateView
两次.思考?
我的activity_add_course xml被请求了......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:orientation="horizontal"
android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud) 我是 Flutter 的新手,并编写了以下代码用于在 Image 上显示捕获的图像。但是,相机预览未显示在我的手机上并且圆形指示器不断旋转。我无法查看相机。
import 'dart:io';
import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
class CameraDemo extends StatefulWidget {
@override
_CameraDemoState createState() => _CameraDemoState();
}
class _CameraDemoState extends State<CameraDemo> {
CameraController _control;
Future<void> _future;
@override
void initState() {
// TODO: implement initState
super.initState();
_initApp();
}
void _initApp() async
{
WidgetsFlutterBinding.ensureInitialized();
final cameras = await availableCameras();
final firstCam = cameras.first;
_control = CameraController(
firstCam,
ResolutionPreset.high,
);
_future = _control.initialize();
}
@override
void dispose() {
// TODO: implement dispose
super.dispose();
_control.dispose(); …
Run Code Online (Sandbox Code Playgroud) void _showDialog(BuildContext context) {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: new Text("Alert Dialog title"),
content: new Text("Alert Dialog body"),
actions: <Widget>[
// usually buttons at the bottom of the dialog
new FlatButton(
child: new Text("Close"),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
Run Code Online (Sandbox Code Playgroud)
我需要创建这个事件,在显示对话窗口的那一刻,屏幕的其他部分改变颜色,我在咨询其他来源时遇到了麻烦,事实是我无法与该事件重合。
目标是实现这样的目标:
我正在研究Recyceview
不同项目的通货膨胀.当我没有绑定onBindViewHolder
方法上的数据RecycleView
比它不崩溃..
但当我绑定数据内部onBindViewHolder
比我得到的Exception
,请检查我的代码,让我知道我在哪里做错了.
package com.tv.practise.adapter;
/**
Created by Ravindra Kushwaha on 10/10/16.
*/
public class RecycleDataAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context mContext;
private ArrayList<RecycleBen> data;
public static class SimpleText extends RecyclerView.ViewHolder {
TextView first_data_tv;
public SimpleText(View v) {
super(v);
this.first_data_tv = (TextView) v.findViewById(R.id.first_data_tv);
}
}
public class SimpleImage extends RecyclerView.ViewHolder {
ImageView second_data_iv;
public SimpleImage(View v) {
super(v);
this.second_data_iv = (ImageView) v.findViewById(R.id.second_data_iv);
}
}
public class SimpleImageWithText extends RecyclerView.ViewHolder …
Run Code Online (Sandbox Code Playgroud) 我正在尝试打开一个 Json 文件,该文件位于 res 我的文件结构中的 raw 文件夹中
但我尝试过的每种方法都失败了,我只需要字符串,因为我Json
Strings
已经可以解析了。
这是我的Json
读者
public class Parser extends Activity {
public String getStringFromJson(String path) {
StringBuffer sb = new StringBuffer();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(getAssets().open(path)));
String temp;
while ((temp = br.readLine()) != null)
sb.append(temp);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close(); // stop reading
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
它在行中失败:
br = …
我使用的是我的音频列表,Recyclview
并且工作正常,这意味着我可以播放音频文件Recyclview
。
当我在Seekbar
音频文件上使用时Recyclview
,问题是当我滚动时Recyclview
,另一个items's of Recyclview Seekbar
正在变化(Seekbar我正在使用音频文件的播放进度。)
当我滚动时,我想要的其他Seekbar
项目Recyclview
不会改变Recyclview
请检查我的代码吧,里面的onBindViewHolder
我Recyclview
,我使用下面的代码,请一次检查。
((MyAudioChat) holder).sbMyAudio.setTag(position);
((MyAudioChat) holder).imgPlayAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
((MyAudioChat) holder).sbMyAudio.removeCallbacks(null);
((MyAudioChat) holder).sbMyAudio.setProgress(0);
if (mediaPlayer == null) {
mediaPlayer();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration());
} else {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration());
}
((MyAudioChat) holder).sbMyAudio.getTag();
((MyAudioChat) holder).sbMyAudio.setMax(mediaPlayer.getDuration()); // Set the Maximum range of the
((MyAudioChat) holder).sbMyAudio.setProgress(mediaPlayer.getCurrentPosition());// set current progress to song's
Runnable …
Run Code Online (Sandbox Code Playgroud) android android-mediaplayer android-seekbar recycler-adapter