ArrayAdapter<CharSequence> spinAdapterHrs;
char[] charArrayHours = new char[]{'0','1','2'};
CharSequence[] charSeqArrayHrs =
new String[]{ charArrayHours.toString() };
spinnerLeftHrs = new Spinner( this );
spinnerLeftHrs.setSelection( startLeftHrs );
spinnerLeftHrs.setPrompt( "prompt" );
spinnerLeftHrs.setOnItemSelectedListener( this );
spinAdapterHrs = new ArrayAdapter<CharSequence>
( this,
android.R.layout.simple_spinner_item,
charSeqArrayHrs );
spinnerLeftHrs.setAdapter( spinAdapterHrs );
这可以编译好并且不会崩溃,但是Spinner的根 有一个[C @ 4的文本/提示,当选择时显示重叠 完整的盒子[C @ 417ca5a0。 它没有显示通常的Spinner线。
我让它与Integers合作,但希望节省我腐烂的三星Galaxy Ace II x的CPU时间;它是一个实时应用程序,转换只是一直运行(至少对用户而言)。
这是最近的Android sdk,但API目标是15。
环境是使用TextPad在win 10下的Ant。
希望你能帮忙!
答案 0 :(得分:0)
为什么你将char数组转换为字符串??(这是问题)
您需要遍历char数组的元素并在String数组中逐个存储。
实施例
for(int i=0;i<charArrayHours.length;i++)
{
charSeqArrayHrs[i]=charArrayHours[i];
}
答案 1 :(得分:0)
通过您看到的那些字符的外观,您可能正在将每个字符串的对象引用分配给微调器列表中的项目。
尝试在内存中创建单个字符,并以第一个值将其指定给微调器。
然后,如果有效,那么你就知道你的数组没有正确设置。
我不认为编码会导致该特定字符序列填充列表。
答案 2 :(得分:0)
Character[] charArrayHrs = new Character[]{ '0','1','2' };
ArrayAdapter<Character> spinAdapterCharHrs =
new ArrayAdapter<Character>
( this,
android.R.layout.simple_spinner_item,
charArrayHrs );
spinnerLeftHrs.setAdapter( spinAdapterCharHrs );
public void onItemSelected( AdapterView<?> inParent,
View inView,
int inPos,
inParent.getItemAtPosition( inPos ) returns a Character = 2.