我很难搞清楚下一件事.
我拥有:我有一个viewpager和几页.在这个问题中,只有两个是重要的,我们称之为Fragment1和Fragment2,它们彼此相邻.Fragment1包含一个列表视图,其中填充了来自Internet(外部数据库)的数据.Fragment2包含一个简单的按钮.
我的目标:如果我点击Fragment2中的按钮,我会向外部数据库添加一个新项目.我想用这个新项更新/刷新Fragment1中的列表视图.
将notifyDataChanged()在我的情况不工作,但到目前为止,我确信它重新实例每一个页面..我要介绍我的问题,我可以最清楚的方式,所以让我们看看我的代码,这是我的ViewPager适配器:
class MyPagerAdapter extends FragmentStatePagerAdapter {
public List<String> fragmentsA;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
fragmentsA = fragments;
}
@Override
public Fragment getItem(int position) {
return Fragment.instantiate(context, fragmentsA.get(position));
}
@Override
public CharSequence getPageTitle(int position) {
return mEntries.get(position % CONTENT.length).toUpperCase();
}
@Override
public int getCount() {
return mEntries.size();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
Run Code Online (Sandbox Code Playgroud)
Fragment1 onCreateView()(简称):
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
getData();
View …Run Code Online (Sandbox Code Playgroud) android fragment android-listview android-viewpager fragmentpageradapter
我正在使用viewpager在我的应用程序中的片段之间滑动.我在XML中定义了背景,所以
android:background="@drawable/bg_final"
Run Code Online (Sandbox Code Playgroud)
如果我使用简单的背景颜色,我的应用程序非常流畅.如果我将它与此背景图像一起使用,fps会减少,我的应用程序也只能通过.它并不慢,只是不那么顺利,但是在较弱的设备上它可能会工作迟缓.这是一种应用背景图像的坏方法吗?整个图像是480x800 png,大小为14.7kB.可能是什么问题?
(片段的背景是透明的,viewpager在main.xml中,它具有此图像的背景)
我有一个edittext和一个观察SPACE是否到达的textwatcher.如果它是一个空间我想立即删除它.或者,如果它是一个空间我想确保它不会出现但是以某种方式指示(seterror,toast)用户不允许空间.
edittext.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
//---//
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
Run Code Online (Sandbox Code Playgroud)
我无法在afterTextChaned方法中定义onkeydown,因为它给了我一个错误.
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
if (keyCode == KeyEvent.KEYCODE_SPACE) {
}
}
Run Code Online (Sandbox Code Playgroud)
所以它不起作用(语法错误,错误的构造为int keyCode.
提前谢谢你!
我注意到,在我不验证自己之前,我没有收到Google的进一步付款.我是一名唯一的拖鞋,因此我必须向他们发送身份证和发票.我在奥地利共享一个公寓,并在那里有一个银行账户,我在过去1.5年里用它来接收我的机器人付款.但我不是奥地利公民,有时我会去那里.我的国家/地区不支持销售付费应用,所以我的问题是:如果我向他们发送我的非奥地利ID和奥地利发票,他们会在验证时遇到问题吗?
我打算在Google页面中强调的另一句话(https://support.google.com/googleplay/android-developer/answer/150324?hl=en):" 如果您不在上面列出的任何国家/地区,或者没有拥有所需的银行账户接收付款,谷歌可能无法通过任何其他方式支付该账户的销售. "---对我来说,这意味着我"只"必须拥有一个必需的银行账户,但我不确定我是否必须在该国居住并成为公民.
我的发票很快就会到货,我可以等一下,但这对我来说非常令人担忧.这会给我带来很大的问题,因为我每天都会销售大量的Android应用程序,从而产生巨大的收入.但是我想知道到目前为止没有问题,为什么现在呢?
非常感谢你提前给出答案!
我有一个声音文件(.3gp),大概约1分钟.我想每1/4秒获得一次这个声音文件的频率.我的想法是每隔1/4秒从音频文件接收采样并使用FFT我可能得到频率值.有没有办法做到这一点?
实际上我会将声音文件分成1/4sec样本声音文件(alwyas覆盖这些声音文件),然后使用FFT算法并检测magintude最大的频率.但是可能有更简单的解决方案,但我也不知道如何做到这一点.
***更新2 - 新代码
到目前为止我使用此代码:
public class RecordAudio extends AsyncTask<Void, double[], Void> {
@Override
protected Void doInBackground(Void... arg0) {
try {
int bufferSize = AudioRecord.getMinBufferSize(frequency,
AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT);
//int bufferSize = AudioRecord.getMinBufferSize(frequency,
// channelConfiguration, audioEncoding);
AudioRecord audioRecord = new AudioRecord(
MediaRecorder.AudioSource.MIC, frequency,
channelConfiguration, audioEncoding, bufferSize);
short[] buffer = new short[blockSize];
//double[] toTransform = new double[blockSize];
audioRecord.startRecording();
// started = true; hopes this should true before calling
// following while loop
while (started) {
sampling++;
double[] re = new double[blockSize];
double[] …Run Code Online (Sandbox Code Playgroud) 使用Activity时,我可以将相机中的图像加载到ImageView中:
btn_camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) return;
switch (requestCode) {
case PICK_FROM_CAMERA:
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
img_profile.setImageBitmap(photo);
}
break;
case LOAD_FROM_GALLERY:
mImageCaptureUri …Run Code Online (Sandbox Code Playgroud) 我试图根据此视频在图表中显示两行:http: //www.youtube.com/watch?v = 5DGldVzC-bU
我的代码:
public class LineGraph {
public Intent getIntent(Context context){
int[] x = {1,2,3,4,5,6,7,8,9,10};
int[] y = {31,29,54,94,75,36,47,118,92,10};
TimeSeries series = new TimeSeries("Line1");
for (int i=0;i<x.length;i++){
series.add(x[i],y[i]);
}
int[] x2 = {1,2,3,4,5,6,7,8,9,10};
int[] y2 = {39,145,35,87,2,65,48,49,100,106};
TimeSeries series2 = new TimeSeries("Line2");
for (int i=0;i<x2.length;i++){
series.add(x2[i],y2[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series);
dataset.addSeries(series2);
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setColor(Color.CYAN);
renderer.setPointStyle(PointStyle.SQUARE);
renderer.setFillPoints(true);
renderer.setLineWidth(3);
renderer.setDisplayChartValues(true);
XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.BLACK);
renderer2.setPointStyle(PointStyle.CIRCLE);
renderer2.setFillPoints(true);
renderer2.setLineWidth(3);
renderer2.setDisplayChartValues(true);
XYMultipleSeriesRenderer mrenderer …Run Code Online (Sandbox Code Playgroud) 我将一些数据存储在数据库中,然后用光标读取这些数据.所有数据都是56.45,3.04,0.03类型,因此小数点后面有两个数字.现在我想总结它们但它似乎并不容易......我得到那些数字c.getDouble(3)然后我将它添加到sum变量,如:
sum+= c.getDouble(4) * multi
Run Code Online (Sandbox Code Playgroud)
multi是一个介于1和100之间的整数.现在我的问题是,在得到sum变量之后我得到一个如下数字:59.51999999999999999.我没有发布代码,但除了string.valueOf使数字出现在我的小部件上之外没有转换.所以有人经历过这个吗?据我所知它应该是59.52,但我用99999得到那个数字......为什么会这样?(有趣的是,有一个Math.round()不起作用,即使我设置(总和)*100/100,我得到59.0 ..提前谢谢!
在过去的几个小时里,我正在浏览一些listview优化但是我没有成功解决我的滞后列表视图,所以从行到行我开始将我的代码恢复到更早和更简单的版本来找出问题.因此,我使用包含imageview和两个textview的customadapter填充listview.从项目中删除图像后,我的列表视图仍然很慢,然后猜测:如果我删除textviews的自定义字体,我的lagginess消失了.我使用简单的Calibri,这是一个内置字体,所以我不明白为什么它减慢了我的listview.有什么建议可以解决这个问题吗?
//viewHolder.text_tt.setTypeface(Typeface.createFromAsset(getActivity().getAssets(), "fonts/CALIBRI.TTF"));
//viewHolder.text_ttd.setTypeface(Typeface.createFromAsset(getActivity().getAssets(), "fonts/CALIBRI.TTF"));
viewHolder.text_tt.setText(textNames[position]);
viewHolder.text_ttd.setText("Item " + position);
Run Code Online (Sandbox Code Playgroud) 我有一个colorpicker对话框,你可以选择按钮,textcolor等颜色.如果我记录选择的颜色,我得到一个-13459125号码,我不知道什么是RGB颜色.我看到它是一个24位颜色代码,因为可以选择256*256*256颜色,但是如何将其转换为我可以定义其RGB代码的格式?我不确定为什么它也是否定的......
android ×10
fragment ×2
achartengine ×1
audio ×1
background ×1
color-codes ×1
colors ×1
fft ×1
format ×1
frequency ×1
listview ×1
numbers ×1
rounding ×1
textwatcher ×1
typeface ×1