0

はじめに: 私は Android と Java のプログラミングは初めてですが、C、C++、Perl、PerlTk、OpenGL、Pascal、マイクロコントローラー プログラミング (C、アセンブリ) などの他のプログラミング言語の経験は豊富です。調査を行い、多くのことを試しましたが、何も役に立ちませんでした。

だから私は私のリストビューでフォントサイズとフォントの色を変更したい. 私は2つの解決策を見つけました:

  1. スタイルをハッキング。これは機能していますが、スタイルを変更すると、他のすべての要素を変更する必要がなくなり、このスタイルから何が構築されますか。いいえ、この方法を選択しても、リストビューの押された状態と押されていない状態の背景色を変更することはできません。

  2. カスタム レイアウト。私はこの方法を好みますが、レイアウトを参照すると、日食は「解決できないか、フィールドではありません」と言います

私のコード:

public class Btcall extends Activity 
{
  private ListView list;
  final int REQUEST_ENABLE_BT = 1;
  TextView kiirni;
  TextView scanned;
  View view2;
  View view3;
  Button connectbutton;
  private ArrayAdapter<String> founddevices = null;

  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_btcall);
    view2=(View) findViewById(R.id.view2);
    view3=(View) findViewById(R.id.view3);
    connectbutton=(Button) findViewById(R.id.button1);
    kiirni=(TextView)findViewById(R.id.text1);
    scanned=(TextView)findViewById(R.id.scanned);
    list = (ListView) findViewById(R.id.list1);
  }

  public void irddki(View v) 
  {
    BluetoothAdapter bluetooth = null;
    BroadcastReceiver mReceiver = null;
    bluetooth = BluetoothAdapter.getDefaultAdapter();
    founddevices = null;
    if(bluetooth != null)
    {
      String status;
      if (bluetooth.isEnabled()) 
      {
        String mydeviceaddress = bluetooth.getAddress();
        String mydevicename = bluetooth.getName();
        status = mydevicename + " : " + mydeviceaddress;
        Toast.makeText(this, status, Toast.LENGTH_LONG).show();

        bluetooth.startDiscovery(); 
        mReceiver = new BroadcastReceiver() 
        {
          public void onReceive(Context context, Intent intent) 
          {
            String action = intent.getAction();

            if (BluetoothDevice.ACTION_FOUND.equals(action)) 
            {
              BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

              founddevices.add(device.getName() + "\n" + device.getAddress());
            }
          }
        };
        scanned.setVisibility(View.VISIBLE);
        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
        lp.setMargins(470, 270, 0, 0);
        connectbutton.setLayoutParams(lp);
        connectbutton.setText("Scan again");
        kiirni.setVisibility(View.GONE);
        list.setBackgroundResource(R.color.Lightgrayy);
        list.setVisibility(View.VISIBLE);

        view2.setVisibility(View.VISIBLE);
        view3.setVisibility(View.VISIBLE);
        /*HERE IS THE PROBLEM--->*/
        founddevices = new ArrayAdapter<String>(this, android.R.layout.mylist);
        list = (ListView) findViewById(R.id.list1);
        list.setAdapter(founddevices);

        IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); 
        registerReceiver(mReceiver, filter);
      }
      else
      {
        if (!bluetooth.isEnabled()) 
        {
          Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
          startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
        }
      }
    }
  }

  public void close(View v) 
  {
    moveTaskToBack(true);
  }
}

カスタム レイアウトを作成し、layouts フォルダーに配置しました。R フォルダーにもあります。

それでもEclipseはそれを見ることができません.何かをインポートする必要があるのでしょうか? 私はそれがnoob Qだと確信していますが、答えていただければ幸いです。

4

1 に答える 1

0

Try using just:

R.layout.mylist

instead of:

android.R.layout.mylist
于 2012-12-09T14:13:25.930 に答える