小编Roh*_*ukh的帖子

Spinner下拉菜单项颜色(Android)

所以我有一个微调器,我成功地改变了所选项目的颜色,但是我无法在下拉菜单中更改项目的颜色

这是我的spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView  
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content"
   android:textSize="13sp" 
   android:textColor="#33CCFF"         
/>
Run Code Online (Sandbox Code Playgroud)

这是我的styles.xml

<resources>
  <style name="AppTheme" parent="android:Theme.Light" >
     <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem.Color</item>
     <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
  </style>
  <style name="SpinnerItem.DropDownItem.Color" parent="@android:style/Widget.DropDownItem.Spinner">
      <item name="android:textColor">#4FBDE8</item>
  </style>

  <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
      <item name="android:textColor">#4FBDE8</item>
  </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

有没有XML方法可以做到?

textcolor android-spinner

6
推荐指数
1
解决办法
1万
查看次数

使用Enter键结束程序

我正在尝试在用户点击Enter键时结束程序.由于某种原因,它似乎不起作用.当我使用"char c不等于输入键"时,它在c中输入一个额外的整数(最后输入的整数).这段代码有什么问题?

#include <stdio.h>
#include <stdlib.h>
#define framenumber 4

int test1 =0;
int test2=1;
int main(void)
{
    int mainarray[framenumber][2] = {0}, nHP = 3, takein, iPT;
    char c = getchar();
    printf("Enter: ");
    while(1)
    {
        char c = getchar();

        if(c == '\n') {
            printf("here");
        }
        else
        {
            printf("not enter\n");        

            takein = atoi(&c);

            for (iPT = 0; mainarray[iPT][test2] != takein && iPT < framenumber; iPT++);

            if (mainarray[iPT][test2] != takein)
            {
                //search for a victim
                do {
                    nHP = (nHP + 1) % …
Run Code Online (Sandbox Code Playgroud)

c exit

2
推荐指数
1
解决办法
6358
查看次数

在C中正确解析命令行参数

我想要做的是接受命令行参数并根据参数更改一些变量.我附加了一大块代码,因为整个代码大约是400行.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {

    char somestring[500];
    int ca=0;
    if (argc==1) //if no arguments are specified use defaults
    {
    }
    else
    {
        while(ca<argc)
        {
               ca++
            if(strcmp(argv[ca],"-f")==0)
            {
                printf("This works");
                ca++; 
                if(strcmp(argv[ca],"red")==0){
                    printf("this will print red\n");
                }
                else{
                    printf("invalid color");
                }
            }
            if(strcmp(argv[ca),"")==0)
            {
                printf("invalid argument");
            }
            else {
                strcat(somestring,argv[ca]);
            }
        }
        printf("%s",somestring);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户输入:

./foobar -f red这是一个字符串

程序应该打印:

"这将打印红色,这是一个字符串"

如果用户输入:

./foobar -f red

程序应该打印"无效的命令行参数".

最简单的方法是什么?我已经尝试了很多可能性而没有运气.不同参数的数量对我来说是主要的问题(我也有超过5个选项,例如-f -b -h -w -e)

帮助非常感谢.如果你愿意,我可以添加我的整个代码.

c command-line-arguments

1
推荐指数
1
解决办法
1万
查看次数