我目前正致力于在Android上编写一个简单的消息应用程序.我把服务器放在一个叫做的类中runServer,它运行得很好.然后我在我的方法中有一个客户端mainActivity.我有一个button,有一个onclick="startClient".但每当我点击它时button,我都会收到错误.
03-11 13:01:40.622: E/AndroidRuntime(718): java.lang.IllegalStateException:
Could not find a method startClient(View) in the activity class com.example.datorkomprojekt.MainActivity
for onClick handler on view class android.widget.Button with id 'connect'
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?
主要活动
public class MainActivity extends Activity {
private Socket socket;
private ObjectInputStream ois;
private DataOutputStream dos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
runOnUiThread(new Runnable(){
public void run(){
EditText et = (EditText) findViewById(R.id.message_id);
String message = et.getText().toString();
EditText et1 = (EditText) findViewById(R.id.messages); …Run Code Online (Sandbox Code Playgroud) 我有这个代码
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
intent.putExtra("chapter", 1);
b1.startAnimation(animZoom1);
startActivity(intent);
}});
Run Code Online (Sandbox Code Playgroud)
该方法一次运行所有行,动画持续时间为 1.5 秒,但Activity运行时间不到 0.5 秒我只想StartActiviy(intenet);在动画结束后运行
我仍然是一个初学者,但试图学习,所以可能做一些非常愚蠢的事情.我的问题是关于我想要制作的一个简单的Android计算器,但我认为这个问题涉及我认为我理解的基本Java.我从按下的按钮获取值,然后将其传递给方法以显示输入,然后为输入设置全局变量.如果我按"1"但方法标题中的值为"1",然后在该方法中丢失.也许我不明白如何处理Java类型,就像我想的那样 - 不知道.我有一次逻辑工作,但不得不改变它的显示方式,当然,这在某个地方搞砸了我的逻辑.无论如何,我现在将发布传递声明和接收方法.提前致谢.
public void initButtons()
{
//register buttons as listeners
final Button button1 = (Button) findViewById(R.id.button1);
final Button button2 = (Button) findViewById(R.id.button2);
final Button button3 = (Button) findViewById(R.id.button3);
final Button button4 = (Button) findViewById(R.id.button4);
final Button button5 = (Button) findViewById(R.id.button5);
final Button button6 = (Button) findViewById(R.id.button6);
final Button button7 = (Button) findViewById(R.id.button7);
final Button button8 = (Button) findViewById(R.id.button8);
final Button button9 = (Button) findViewById(R.id.button9);
final Button button10 = (Button) findViewById(R.id.button10);
final Button addButton = (Button) findViewById(R.id.addButton);
final Button subButton …Run Code Online (Sandbox Code Playgroud) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/file_icon"
style="@style/fileChooserIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/desc" />
<TextView
android:id="@+id/file_name"
style="@style/fileChooserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
错误:This tag and its children can be replaced by one <TextView/> and a compound drawable
我是Android新手,并不完全了解什么是错误.某种解决方案令人伤心,使其复合但却没有得到它.
我开始了ActivityB从ActivityA使用startActivity(intent),然后我开始CountDownTimer.现在暂停,我想结束ActivityB并ActivityA再次拥有前景.是否有可能阻止Activity另一个?
我是android的初学者,对于一个uny课程的项目,我们必须开发5个简单的应用程序,然后将它们"合并"在一起.所以你从一个Activity/ListView启动每个应用程序.所有应用程序都单独运行,但是当从列表视图运行一个应用程序时,我得到以下 *AsyncTask#1执行doinBackground()时发生错误; *
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
reportarray= new ArrayList<String>();
try {
URL url = new URL("http://www.yr.no/sted/Sverige/Kronoberg/V%E4xj%F6/forecast.xml");
AsyncTask task = new WeatherRetriever().execute(url);
} catch (IOException ioe ) {
ioe.printStackTrace();
}
adapter= new Adapter(this);
setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)
这似乎是一个线程问题,这里是我使用的更多代码
private class WeatherRetriever extends AsyncTask<URL, Void, WeatherReport> {
protected WeatherReport doInBackground(URL... urls) {
try {
return WeatherHandler.getWeatherReport(urls[0]);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
protected void onProgressUpdate(Void... progress) {
}
protected void onPostExecute(WeatherReport result) {
report …Run Code Online (Sandbox Code Playgroud) 我真的很沮丧这个错误.我几乎不可能找到.
代码很简单.我正在尝试使用导航抽屉.
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/main_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<ListView
android:id="@+id/navigationdrawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#111"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
Run Code Online (Sandbox Code Playgroud)
要向ListView添加项目,我添加了一个字符串数组和string.xml
<resources>
<string name="app_name">Test</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string-array name="Contents">
<item>Calculator</item>
<item>About Us</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在MainActivity.java中
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
String[] drawerListItems;
ListView drawerList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
drawerListItems = getResources().getStringArray(R.array.Contents);
drawerList = (ListView) findViewById(R.id.navigationdrawer);
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,drawerListItems);
drawerList.setAdapter(aa);
setContentView(R.layout.navigation);
} …Run Code Online (Sandbox Code Playgroud) 我似乎无法Activity从我开始新的Button,我在这里寻找答案,但似乎无法解决问题.我希望有人有一个简单的解决方案.提前致谢.
这是错误:
E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not find a method openSearch(View) in the
activity class dk.mathias.splitcab.MainActivity
for onClick handler on view class android.widget.Button with id 'btnStartSearch'
Run Code Online (Sandbox Code Playgroud)
MainActivity.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openSearch(){
Intent openSearchIntent = new Intent(MainActivity.this, StartSearch.class);
startActivity(openSearchIntent);
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<activity
android:name=".StartSearch"
android:label="@string/title_activity_start_search" >
<intent-filter>
<action android:name="dk.mathias.splitcab.STARTSEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/StartSearch"
android:id="@+id/btnStartSearch"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/tvWelcome"
android:layout_alignEnd="@+id/tvWelcome"
android:onClick="openSearch"
/>
Run Code Online (Sandbox Code Playgroud)
StartSearch.java …
我在运行HttpGet时遇到问题,我可以使用模拟器的浏览器访问该站点,但是当我尝试运行我的应用程序时,出现了这些错误。
12-15 05:34:20.573 1702-1702/com.albertoortega.flordemaria E/AndroidRuntime? FATAL EXCEPTION: main
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
at libcore.io.IoBridge.connect(IoBridge.java:112)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
at java.net.Socket.connect(Socket.java:842)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at com.albertoortega.flordemaria.Objects.JSONParser.makeHttpRequest(JSONParser.java:65)
at com.albertoortega.flordemaria.ActivityLogin$GetLogin$1.run(ActivityLogin.java:98)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
这是实际的代码。
new GetLogin().execute();
class GetLogin extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog …Run Code Online (Sandbox Code Playgroud) class GetDetails extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(EditProduct.this);
pDialog.setMessage("Chargement. Patienter ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... params) {
runOnUiThread(new Runnable() {
public void run() {
int success;
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("pid", pid));
JSONObject json = jsonParser.makeHttpRequest(
url_product_detials, "GET", params);
Log.d("Single Product Details", json.toString());
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
JSONArray productObj = json.getJSONArray(TAG_PRODUCT);
JSONObject product = productObj.getJSONObject(0);
txtName = (EditText) findViewById(R.id.inputName);
txtLongi …Run Code Online (Sandbox Code Playgroud)