我有一个GridView,每个单元格包含一些文本,我希望能够设置单个单元格的背景颜色.
我的GridView的XML是:
<GridView android:id="@+id/students_grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="6"
android:gravity="center"
android:stretchMode="columnWidth">
</GridView>
Run Code Online (Sandbox Code Playgroud)
我的GridView的代码是:
GridView gridView = (GridView) findViewById(R.id.students_grid);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, student_array);
gridView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
我希望我能够使用以下方法设置单个细胞的背景颜色:
gridView.getChildAt(random_student).setBackgroundColor(Color.parseColor("#18A608"));
Run Code Online (Sandbox Code Playgroud)
但是,这会引发一个空指针异常,并且在进一步检查时,似乎gridview.getChildCount()返回0.我看到gridview.getCount正确返回gridview中的项目数,但这对我没有帮助单个细胞的背景颜色.
我下次去的任何想法?
我有一个用户使用Nexus 7反馈给我说我的应用程序屏幕显示为预期,除了我Spinners,它看起来比他们应该做的大得多.
Nexus 7上的大型微调器 http://imgur.com/X4Kqo
我有一个Spinner TextView布局:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textview"
android:layout_height="36dip"
android:layout_width="match_parent"
android:textSize="24.5sp"
android:textColor="#768766"
/>
Run Code Online (Sandbox Code Playgroud)
由此产生的RelativeLayout:
<Spinner
android:id="@+id/spinner_weekday1"
android:layout_below="@id/col1day"
android:layout_height="wrap_content"
android:prompt="@string/enterday"
android:layout_width="200dip"
android:entries="@array/weekdaylist"
android:layout_marginRight="60dp"
android:layout_marginBottom="20dip"
android:textSize="24.5sp"
android:textColor="#768766"
/>
Run Code Online (Sandbox Code Playgroud)
我让应用程序在一系列其他设备上运行,看起来很好.任何有关Nexus 7可能Spinners以这种方式显示的想法?
我有一种情况,当我发出一些cursor.moveToNext()请求时我的程序崩溃了.错误消息显示:
android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=773 (# cursors opened by this proc=773)
at android.database.CursorWindow.<init>(CursorWindow.java:112)
at android.database.CursorWindow.<init>(CursorWindow.java:100)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:364)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:162)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:156)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:161)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:209)
at net.cunniman.teacherplannerlite.SchoolClassDataSource.getClassForDayView(SchoolClassDataSource.java:173)
at net.cunniman.teacherplannerlite.DayView.getSchoolClasses(DayView.java:200)
at net.cunniman.teacherplannerlite.DayView.displayDate(DayView.java:176)
at net.cunniman.teacherplannerlite.DayView.plusDay(DayView.java:287)
at net.cunniman.teacherplannerlite.DayView.onClick(DayView.java:93)
at android.view.View.performClick(View.java:3565)
at android.view.View$PerformClick.run(View.java:14165)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4514)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
at dalvik.system.NativeStart.main(Native Method)
try {
this.openForRead();
for (int day_counter = 0; day_counter < DAY_PERIOD.length/2; day_counter++) …Run Code Online (Sandbox Code Playgroud) 我有一个Spinner显示单位数字(1-6).
当我在手机上进行测试时,几乎不可能点击一个数字,因为它们非常窄(字体大小为12sp),唯一看似可点击的区域就是文本本身.
理想情况下,我希望用户能够在Spinner下拉菜单上单击更大的宽度,而不仅仅是文本.我已经尝试用空格填充但是这些被抑制了,我尝试过使用PaddingLeft/Right但是再次没有区别.
这里是 Spinner
<Spinner
android:id="@+id/spinner_period1"
android:layout_toRightOf="@id/spinner_weekday1"
android:layout_below="@id/col1day"
android:layout_height="wrap_content"
android:prompt="@string/enterperiod"
android:layout_width="80dp"
android:entries="@array/periodlist"
android:layout_marginRight="340dp"
android:layout_marginBottom="20dip"
/>
Run Code Online (Sandbox Code Playgroud)
请注意,我还Spinner使用以下方法设置文本属性:
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textview"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textSize="12sp"
android:textColor="#768766"
/>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?提前致谢
标记
我有一个包含多行文本的文本视图,例如
这是第1行
这是第2行
这是第3行
我希望能够根据用户点击的行存储文本,即如果他们点击第2行我想存储"这是第2行".
我怎么能这样做?
编辑于9月1日:
我不确定可点击式跨度解决方案是如何工作的?我能够从我的文本视图中获取特定的文本行,例如获取我将使用的第1行:
TextView tv = (TextView) view.findViewById(R.id.class_list);
String selectedClass =(String)(tv).getText();
int l1start = tv.getLayout().getLineStart(1);
int l1end = tv.getLayout().getLineEnd(1);
String l1 = selectedClass.substring(l1start, l1end);
Run Code Online (Sandbox Code Playgroud)
但我看不出如何通过使用可点击的跨度来确定实际点击了哪个行号?
我想我已经掌握了Parse承诺链,但我不明白的是我如何从函数返回我的数据(i)备份promise链和(ii)返回原始JS代码的调用方法.
使用下面的代码,调用第一个Parse查询,然后是a(),最后是b(),这一切都很好.每个阶段的console.log都用于测试目的,并显示链已按顺序执行.
我现在有3个问题:
如何从函数a()和函数b()中获取数据,以便我可以在main函数getUserCompetitionTokens()中访问它?
如何将getUserCompetitionTokens()中的任何数据返回到调用此Parse代码的主程序?
如果我想从函数a()以及从函数b()到BOTH的数据返回到我的主程序怎么办?
function getUserCompetitionTokens(comp_id) {
Parse.initialize("****","****");
currentUser = Parse.User.current();
user_competition = Parse.Object.extend("UserCompetition");
var user_comp_query = new Parse.Query(user_competition);
user_comp_query.equalTo("UserParent", currentUser);
user_comp_query.find().then(a).then(b);
function a(user_comp_results) {
var no_results = user_comp_results.length;
var id = user_comp_results[0].id;
console.log("User Competition Output: " + no_results + " results found, first item id: " + id);
var Competition = Parse.Object.extend("Competition");
var query = new Parse.Query(Competition);
return query.get(comp_id, {
success: function(competition) {
console.log("COMP - " + competition.id);
},
error: function(competition, error) {
console.log(error);
}
});
} …Run Code Online (Sandbox Code Playgroud) 我有一个带复选框的选项菜单.当用户点击它时,我可以选中并取消选中该复选框.但是,我使用SharedPreferences来存储此复选框的值,因此我还需要做的是使用存储在SharedPreferences pref值中的任何内容初始化复选框,即如果pref为true/false,则将复选框设置为选中/选中.
我想我需要在onCreateOptionsMenu中放入一些代码,我显然需要使用.setChecked(首选项)来设置复选框,但是我如何以编程方式引用复选框本身?
使用以下命令创建菜单:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
可以使用以下方法选中/取消选中该复选框:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.two_week:
if (item.isChecked()) {
item.setChecked(false);
}
else {
item.setChecked(true);
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud) 在Parse中,我设置了具有多个列的User表,其中大多数是字符串,但是一个是指向另一个Parse类的指针.我想在查询中使用此指针
在Java中,我可以访问在我的查询中使用的指针,如下所示:
ParseUser currentUser = ParseUser.getCurrentUser();
ParseObject comParent = currentUser.getParseObject("ComParent");
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,我尝试过使用:
var currentUser = Parse.User.current();
var comParent = currentUser.get("ComParent");
Run Code Online (Sandbox Code Playgroud)
但这会返回undefined.我究竟做错了什么?
我有一个扩展 AbstractBaseUser 的 User 模型
class User(AbstractBaseUser):
email = models.EmailField(max_length=255, unique=True, default='abc123@gmail.com')
forename = models.CharField(max_length=20, default='')
surname = models.CharField(max_length=20, default='')
account_expiry = models.DateField(default=datetime.now() + timedelta(days=365))
Run Code Online (Sandbox Code Playgroud)
在我的所有视图中,我使用 LoginRequiredMixin 进行身份验证,例如
class IndexView(LoginRequiredMixin, generic.TemplateView):
Run Code Online (Sandbox Code Playgroud)
我想不仅通过电子邮件和密码对用户进行身份验证,而且还想通过检查帐户是否已到期。
我的问题是 - 实现这一目标的最佳(最简单?)方法是什么。我是否按照此处所述编写自己的自定义身份验证后端?或者我应该写一个自定义的 Mixin 或中间件?
我有一个白色的EditText,在Android 3.1及以上版本中,光标没有显示(因为它也是白色).有关信息,我使用
android:background="@android:drawable/editbox_background_normal"
Run Code Online (Sandbox Code Playgroud)
我在这篇文章中读到Set EditText游标颜色,解决方案是将textCursorDrawable属性设置为"@null",我尝试过,但我不能使用它,因为它说该属性是未知的.
我在AndroidManifest.xml中设置了我的SDK,如下所示:
<uses-sdk android:minSdkVersion="14"
android:targetSdkVersion="14"/>
Run Code Online (Sandbox Code Playgroud)
但它仍然无法识别android:textCursorDrawable
有任何想法吗?