我想用Material Design Support库实现一个向导.
我正在使用ViewPager
,Tablayout
但我在动态添加新标签时遇到问题.
首先,我在onCreate
方法中设置我的小部件:
viewPager = (ViewPager) findViewById(R.id.tab_viewpager);
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new DummyFragment(), "1");
adapter.addFrag(new DummyFragment(), "2");
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)
然后我想在单击列表中的元素时添加另一张卡片:
adapter.addFrag(new DummyFragment(), "3");
adapter.notifyDataSetChanged();
tabLayout.setTabsFromPagerAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
问题是:添加后,所选卡首先重置.
如何防止这种行为?
我做材料设计风格的应用
我想将AutoCompleteTextView
风格
改为风格android.support.v7.internal.widget.TintEditText
我在style.xml中添加了样式:
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewAppTheme</item>
</style>
<style name="AutoCompleteTextViewAppTheme" parent="Base.Widget.AppCompat.EditText"/>
Run Code Online (Sandbox Code Playgroud)
这有效,但线条颜色不会改变.
带有材料设计的EditTexts似乎使用colorControlActivated
和colorControlNormal
.因此,我试图在先前的样式定义中覆盖这些属性,但它没有任何效果.
我需要做什么才能让它发挥作用?
我有两个文件字段的视频模型(存储在亚马逊 s3 中的媒体):
class Video(models.Model):
original = FileField(storage=S3BotoStorage())
small = FileField(storage=S3BotoStorage(), null=True)
Run Code Online (Sandbox Code Playgroud)
我只上传原始视频,然后上传后我在亚马逊弹性转码中创建转换作业(并且我为转换文件指定了文件路径)。
@receiver(post_save, sender=Video)
def handle_new_video(sender, instance, created, **kwargs):
if created:
send_transcode_job_request(instance.id, 'converted/file.mp4')
Run Code Online (Sandbox Code Playgroud)
作业完成后,我只想将文件路径保存到文件small
字段。
@receiver(job_completed, sender=Video)
def handle_converting_completed(video_id, filepath, **kwargs):
video = Video.objects.get(id=video_id)
video.small.file.name = filepath
Run Code Online (Sandbox Code Playgroud)
如何在不重新上传视频的情况下执行此操作?
如何用填充计算每个月的项目?
data = [
{"event_date": "2018-08-10", "tags": ["tv", "radio"]},
{"event_date": "2018-08-11", "tags": ["tv", "radio"]},
{"event_date": "2018-09-10", "tags": ["tv"]},
{"event_date": "2018-11-10", "tags": ["tv", "wifi"]}
]
df = pd.DataFrame(data)
df.groupby([(df['event_date']).dt.month, df['tags']]).count()
Run Code Online (Sandbox Code Playgroud)
我期待的是:
month tv radio wifi
8 2 2 0
9 1 0 0
10 0 0 0
11 1 0 1
Run Code Online (Sandbox Code Playgroud)