小编pez*_*pez的帖子

导航抽屉定制适配器

我有一个工作的导航抽屉,使用文档中ArrayAdapter所示.我想为每个导航抽屉项设置图标,所以我需要创建一个自定义适配器来使用,但我不确定如何做到这一点.我在下面运行而不会崩溃应用程序,但导航抽屉打开空,没有任何内容.你能帮帮我吗?提前致谢!ImageView

到目前为止我为自定义适配器做了什么:

public class CustomAdapter extends ArrayAdapter
{
    private final Context context;

    public CustomAdapter(Context context)
    {
       super(context, R.layout.drawer_list_item);
       this.context = context;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View v = inflater.inflate(R.layout.drawer_list_item, parent, false);
        TextView textViewHome = (TextView) v.findViewById(R.id.drawerHomeTextView);
        ImageView imageViewHome = (ImageView) v.findViewById(R.id.drawerHomeImage);
        TextView textViewList = (TextView) v.findViewById(R.id.drawerListTextView);
        ImageView imageViewList = (ImageView) v.findViewById(R.id.drawerListImage);

        return v;
    }
}
Run Code Online (Sandbox Code Playgroud)

设置抽屉MainActivity:

mDrawerList = (ListView) findViewById(R.id.leftDrawer);

mDrawerList.setAdapter(new CustomAdapter(this)); …
Run Code Online (Sandbox Code Playgroud)

android android-arrayadapter custom-adapter navigation-drawer

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

最有效的方法来测试数字是否在360度圆的某个22.5度范围内

我正在构建一个指南针,并且需要根据用户当前所处的22.5度间隔返回基本方向的不同字符串.

作为参考,请看这张照片.

以下是我当前代码的示例:

if ((azimuth >= 348.75 && azimuth <= 360) || (azimuth >= 0 && azimuth <= 11.25))
{
    return "N";
}
else if (azimuth < 348.75 && azimuth >= 326.25)
{
    return "NNW";
}
Run Code Online (Sandbox Code Playgroud)

这一系列else if陈述以22.5度的间隔继续,直到涵盖所有基本方向.有没有更有效的方法来做到这一点?目前,Android Studio/IntelliJ正在提供错误消息this method is too complex to analyze by data flow algorithm.无论错误信息如何,我认为可能有更优雅的方式来做到这一点,但我现在想不到它.

有任何想法吗?谢谢!

java

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

Python简单的纸牌游戏来学习课程

我正在尝试创建一个简单的纸牌游戏,以更好地了解OOP和类.

游戏如下:从牌组发出两张牌.然后发出第三张牌.如果第三张牌位于前两张牌之间,则玩家获胜.如果第三张牌等于前两张牌中的任何一张,或者在该牌组之外,则该牌手输了.

这是我到目前为止:

class Deck(object):
    def __init__(self):
        self.deck = []

    def PopulateDeck(self):
        suits = ["Hearts", "Diamonds", "Clubs", "Spades"]
        for suit in suits:
            for rank in range(2, 15):
                if rank == 11:
                    value = "Jack"
                elif rank == 12:
                    value = "Queen"
                elif rank == 13:
                    value = "King"
                elif rank == 14:
                    value = "Ace"

                self.deck.append(str(value) + " of " + suit)

class Card(object):
    def __init__(self, rank, value):
        self.rank = rank
        self.value = value
        self.card = self.rank + self.value
Run Code Online (Sandbox Code Playgroud)

我在课堂和OOP上遇到了困难,我不确定这是一个好的开始,还是我应该去哪里.其中大部分是通过阅读其他来源和示例创建的.任何人都可以提供关于我可能想要运行我的游戏的其他课程的建议,以及这些课程如何与彼此互动/继承?谢谢.

python oop class python-2.7

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

Android Studio-更改build.gradle文件中的applicationId

如何更改文件的applicationId字段build.gradle

defaultConfig {
    applicationId "com.oldname.appname"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
Run Code Online (Sandbox Code Playgroud)

我已经将包结构重命名为,com.newname.appname并且所有导入和类似的操作都已更新,但applicationId尚未更新。我无法重构它,只是尝试输入一个新名称会带来很多错误,其中Android Studio会告诉我我的主要内容FragmantActivity“不适用于android.app.Activity”,依此类推。

知道该怎么办吗?提前致谢。

android android-gradle-plugin

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

Excel VBA - 循环范围并将值添加到数组

我有一个函数可以接受数组作为{variant, variant, variant}参数。现在,它还可以接受一系列单元格作为A1:A3相同的参数,但无法处理结果。

我认为我需要做的是循环遍历范围,并将每个值添加到数组中,例如:

  • A1:A3变成{Value in A1, Value in A2, Value in A3}
  • A1:B2变成{A1, A2, B1, B2}
  • A:A变成仅包含 A 列已填充单元格的数组(相同的原理也适用于上面的两个范围。仅将已填充单元格添加到数组中)

这样,我可以像用户在输入参数时自己键入数组一样处理结果。

如果事先不知道范围的大小,我该如何做到这一点?我希望用户能够提供可以转换为数组的任何大小/形状的范围。

IsArray(){variant, variant, variant}对于和的两个输入都返回 true A1:A3,所以然后我检查它是否是一个范围If TypeName(parameter) = "Range" Then,但之后我在处理该范围时遇到了麻烦,并且不知道如何继续将其转换为数组。

我尝试过研究,但我是 VBA 新手,我认为我在搜索中使用了不正确的术语。任何建议表示赞赏,谢谢!

更新以包含一些代码。请注意,这将是该函数要做的第一件事。后面的代码与问题无关,只是后面的代码需要处理一组值。

If IsArray(my_values) Then

    'If it's a Range then I need to get the values of each cell and put them into an array.
    'If they passed an array like `{1,1,1}`, move …
Run Code Online (Sandbox Code Playgroud)

excel vba

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