有没有人可以看看我的这个程序啊

苏子抱月 2016-04-01 08:50:31
package com.example.newspinner;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;


public class MainActivity extends Activity {
final static int WRAP_CONTENT=-2;
int [] drawableIds={R.drawable.bill,R.drawable.trovalds,R.drawable.turing};
int [] msgIds={R.string.zq,R.string.zq,R.string.pq};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner sp=(Spinner)this.findViewById(R.id.spinner1);
BaseAdapter ba=new BaseAdapter(){//设置适配器

@Override
public int getCount() {
// TODO Auto-generated method stub
return 3; //总共有3个选项
}
public Object getItem1(int arg0){
return null; //重写方法
}
public long getItemId1(int arg0){
return 0; //重写方法
}
public View getView1(int arg0,View arg1,ViewGroup arg2){
LinearLayout ll=new LinearLayout(MainActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);//设置朝向
//得到TextView的引用
ImageView iv=new ImageView(MainActivity.this);
iv.setImageDrawable(getResources().getDrawable(drawableIds[arg0]));//设置图片
ll.addView(iv);
//得到TextView的引用
TextView tv=new TextView(MainActivity.this);
tv.setText(""+getResources().getText(msgIds[arg0]));//设置内容
tv.setTextSize(24);
tv.setTextColor(R.color.mistyrose);
ll.addView(tv);
return ll;
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
return null;
}

};
sp.setAdapter(ba);//为Spinner设置内容适配器
sp.setOnItemSelectedListener(new
OnItemSelectedListener(){

@Override
public void onItemSelected(AdapterView<?> arg0,
View arg1, int arg2, long agr3) {
// TODO Auto-generated method stub
//获取主界面TextView
TextView tv=(TextView)findViewById(R.id.textView1);
LinearLayout ll=(LinearLayout)arg1;//获取选中LinearLayout
TextView tvn=(TextView)ll.getChildAt(1);//获取其中的TextView
StringBuilder sb=new StringBuilder();//得到StringBuilder对象
sb.append(getResources().getText(R.string.ys));//添加信息到sb中
sb.append(":");
sb.append(tvn.getText());//添加信息到sb中
tv.setText(sb.toString());//设置主界面的TextView信息
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}

});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}



布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/LinearLayout">

<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ys"
android:textSize="28dip" />

<Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>


XML文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">newspinner</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="zq">足球</string>
<string name="lq">篮球</string>
<string name="pq">排球</string>
<string name="ys">您的爱好是</string>
</resources>


颜色文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="snow">#FFFAFA</color> <!--雪白色 -->
<color name="mistyrose">#FFE4E1</color> <!--浅玫瑰色 -->
<color name="bisque">#FFE4C4</color> <!--桔黄色 -->
</resources>
...全文
161 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wei220000 2016-04-02
  • 打赏
  • 举报
回复
你写了一个@Override public View getView 但是返回的是null,另外自己写了个public View getView1(。 系统默认的在绘制listview的item时,调用的是getView ,但是你返回了null,肯定就是空的。不会去调用你自己写的方法getView1.所以,你应该去修改getView方法中的代码。
baidu_34520313 2016-04-02
  • 打赏
  • 举报
回复
写的挺好,感觉很受用
刘宇(coder) 2016-04-02
  • 打赏
  • 举报
回复
不知道楼主问什么
yongf2014 2016-04-02
  • 打赏
  • 举报
回复
嗯。看完了,然后?
ganshenml 2016-04-01
  • 打赏
  • 举报
回复
看到这个帖子醉了。楼主你这代码是什么?你有什么问题?描述。。。。。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧